另请参阅:有没有办法编写可在Windows 7和Vista上运行的WinRt(Metro)应用程序?
鉴于Windows 7无法运行WinRT应用程序,我试图了解如何针对Windows 8 on Arm和Windows 7. 据我了解,应用程序只能从App Store安装在ARM版本的Windows 8上.
因此,Arm上的Windows 8可以运行任何WinRT应用程序吗?
双方VariableSizedWrapGrid并WrapGrid有奇怪的测量-它们测量基础上的第一个项目的所有儿童.
因此,以下XAML将剪切第三个项目.
<VariableSizedWrapGrid Orientation="Horizontal">
<Rectangle Width="50" Height="100" Margin="5" Fill="Blue" />
<Rectangle Width="50" Height="50" Margin="5" Fill="Red" />
<Rectangle Width="50" Height="150" Margin="5" Fill="Green" />
<Rectangle Width="50" Height="50" Margin="5" Fill="Red" />
<Rectangle Width="50" Height="100" Margin="5" Fill="Red" />
</VariableSizedWrapGrid>
Run Code Online (Sandbox Code Playgroud)
似乎VariableSizedWrapGrid测量第一项,然后其余的孩子用第一项的所需大小进行测量.
任何解决方法?
我有以下代码:
public void tbSpeed_KeyDown(object sender, KeyRoutedEventArgs e)
{
e.Handled = !((e.Key >= 48 && e.Key <= 57) || (e.Key >= 96 && e.Key <= 105) || (e.Key == 109) || (e.Key == 189));
}
Run Code Online (Sandbox Code Playgroud)
有没有办法检测是否正在按任何修改键如Shift?
目前正在使用纯C++/Direct3D开发Windows Phone 8应用程序.我们现在需要访问设备制造商名称,但似乎只能在C#下使用,根据我的研究,这种类型的应用程序无法访问.
此页面列出了我想要使用的一些电话:http://msdn.microsoft.com/en-us/library/windowsphone/develop/microsoft.phone.info.devicestatus(v = vs.105).aspx.
// If only I could call this line from C++
DeviceStatus.DeviceManufacturer;
Run Code Online (Sandbox Code Playgroud)
无论如何都可以获得这些信息,而无需将应用程序重构为允许基本应用程序为C#的XAML/C++混合应用程序.
我们不能await在catch块中使用关键字这一事实使得在WinRT中显示来自异步方法的错误消息非常尴尬,因为MessageDialogAPI是异步的.理想情况下,我希望能够写下这个:
private async Task DoSomethingAsync()
{
try
{
// Some code that can throw an exception
...
}
catch (Exception ex)
{
var dialog = new MessageDialog("Something went wrong!");
await dialog.ShowAsync();
}
}
Run Code Online (Sandbox Code Playgroud)
但相反,我必须这样写:
private async Task DoSomethingAsync()
{
bool error = false;
try
{
// Some code that can throw an exception
...
}
catch (Exception ex)
{
error = true;
}
if (error)
{
var dialog = new MessageDialog("Something went wrong!");
await …Run Code Online (Sandbox Code Playgroud) 当Dispatcher.RunAsync工作安排时,等待继续发生时,而不是工作完成时.我怎么能等待完成的工作?
编辑
我的原始问题假设过早延续是由API的设计引起的,所以这是真正的问题.
等待Dispatcher.RunAsync使用异步委托时,await在委托代码中使用,会在await遇到时继续,而不是在工作完成时.我怎么能等待完成的工作?
编辑2
您可能需要分派已经在UI线程上工作的一个原因是解决细微的时序和布局问题.对于可视化树中的元素的大小和位置的值来说,通常是非常常见的,并且用于稍后的UI迭代的调度工作可以帮助.
今天,我开始移植创建翻页样品在这里为Windows Phone 7到的WinRT(XAML,C#),以帮助这个问题张贴在堆栈溢出.但在移植过程中,我遇到了页面的剪辑部分.在Windows手机示例中,他们使用路径几何裁剪来剪切页面.但在WinRT中似乎只有矩形几何支持剪切选项.
如何在WinRT中实现类似路径几何剪裁的功能?
您可以从此处下载示例Windows电话代码
请找到我试过的源代码,请下载
在那里请找到类PageTurn.cs,我在下面用代码注释了代码:
void left_PointerEntered(object sender, Windows.UI.Xaml.Input.PointerRoutedEventArgs e)
{
//_workingOdd.Clip = _oddClipRegion;
//_workingEven.Clip = _evenClipRegion;
}
Run Code Online (Sandbox Code Playgroud) 在WP7和WP8中,我只需要清除页面中的backstack,然后按Back按钮关闭应用程序.在WP8.1中,我执行Frame.BackStack.Clear(),按Back并且应用程序最小化..如何使用Back按钮将其杀死?
本周早些时候,Kenny Kerr 在CppCon 2016 1上展示了C++/WinRT.它是基于Modern的Windows Runtime的标准C++投影.
据我所知,C++/CX编译器/预处理器/代码生成器不接触标准C++代码,而C++/WinRT是标准C++库,这是我天真的解释,C++/CX和C++/WinRT都可以在同一个项目中使用.
问题:
如果重要的话,那些问题的答案让我现在可以决定如何将我的C++/CX项目推向未来.
我刚刚买了一台新笔记本电脑,我正在尝试用 python 设置它。我正在使用 python 3.10.0、windows 10、pip v21.3。在大多数情况下,pip 似乎工作正常,我已经使用它来安装多个软件包,例如 pygame。但是,当我尝试安装 winrt 时,出现此错误
C:\Users\matth>pip install winrt
ERROR: Could not find a version that satisfies the requirement winrt (from versions: none)
ERROR: No matching distribution found for winrt
Run Code Online (Sandbox Code Playgroud)
我的旧笔记本电脑仍然能够使用 pip 卸载并重新安装 winrt,没有任何问题,并且 pip 再次适用于我的新笔记本电脑上的其他软件包,但不适用于 winrt。知道问题是什么以及如何解决它吗?
windows-runtime ×10
c# ×5
windows-8 ×3
async-await ×2
c++ ×2
xaml ×2
.net ×1
arm ×1
c++-cx ×1
c++-winrt ×1
command-line ×1
interop ×1
modal-dialog ×1
pip ×1
python ×1
try-catch ×1
uwp ×1
winrt-xaml ×1