Tag: windows runtime

UWP:通过后台线程的数据绑定更新UI

我在我的UWP应用程序中使用x:Bind(编译绑定)将TextBlock绑定到ViewModel中的整数属性,该属性由值转换器转换为字符串。 我在工作线程的ViewModel中使用一个方法来设置属性并调用PropertyChanged事件。 但是,我得到一个exception(具体来说,它位于MainPage.g.cs文件中的XamlBindingSetters类中),“应用程序调用了一个为不同线程编组的接口。” 根据这篇文章 ,这应该在WPF中运行得很好; 在WinRT / UWP中删除了这种易用性,还是我做错了什么? 这正是我正在做的事情。 我的属性定义如下: private int myProperty; public int MyProperty { get { return myProperty; } set { Set(ref myProperty, value); } } Set方法是Template 10库的一部分,定义如下: public bool Set(ref T storage, T value, [CallerMemberName]string propertyName = null) { if (object.Equals(storage, value)) return false; storage = value; RaisePropertyChanged(propertyName); return true; } […]

什么是WinRT(C#)上的System.Diagnostic.Process的等价物?

我需要从我的WinRT应用程序启动一些命令,比如它是一个命令控制台,为了做到这一点,在WinRT应用程序上,要使用的类是System.Diagnostic.Process但是在Win RT上他的类不是可用,我可以使用任何等效的类或方法吗? 提前致谢 :)

如何禁用Suspending || 关闭|| 在Windows 8 Pro上终止Metro风格应用程序的事件

我是一名法国开发人员,我需要为Windows 8 Pro开发一款始终推出的Metro Style应用程序。 我想知道如何禁用我的应用程序的关闭事件。 我的应用程序需要始终在前面,用户无法退出应用程序。 我以为我可以禁用GPO的所有快捷方式但是关闭手势(将应用程序从顶部拖到底部)也需要禁用我。 我希望我很清楚,每个人都会理解这个问题:-)。 随意问我更具体的问题。 亲切的雷诺。

WinRT:使用GetFileFromApplicationUriAsync()加载静态数据

我的Windows 8应用程序中有一些数据应该附带,只是一些静态数据。 实际上:它是一个简单的xml文件,应该反序列化。 数据保存在Assets \ data.xml中(Assets是Blank App Template中的默认文件夹)。 我正在使用这段代码来访问它: private static async Task Load() { if (Windows.ApplicationModel.DesignMode.DesignModeEnabled) { return new SampleData(); } var uri = new Uri(“ms-appx:///Assets/data.xml”); Debug.WriteLine(“Getting file from Application”); var file = await StorageFile.GetFileFromApplicationUriAsync(uri); Debug.WriteLine(“Opening file for reading async”); var stream = await file.OpenStreamForReadAsync(); var serializer = new XmlSerializer(typeof(MyObject)); Debug.WriteLine(“Begin deserialization”); var result […]

在WinRT Metro App C#中获取操作系统版本

我正在使用C#和Visual Studio 11 Beta编写Metro风格应用程序。 现在我想获得操作系统的操作系统版本。 我怎么能得到这个? 我发现了如何在“普通”应用程序中执行此操作。 在那里,您使用OSVersion属性获取Environment-Class,但在.NET Core中没有此属性

使用编译的绑定(x:bind),为什么我必须调用Bindings.Update()?

我目前正在尝试新的编译绑定,并且已经达到(再次)我在错误中错过了一个点:为什么我必须调用Bindings.Update ? 到现在为止,我认为实现INotifyPropertyChanged已经足够了? 在我的例子中,如果我调用这个神秘的方法(由编译的绑定自动生成),GUI只显示正确的值。 我正在使用具有以下(此处简化的)xaml语法的用户控件: 其中TextValue是此用户控件的简单依赖项属性。 在页面中,我将此控件用作: 哪里: ViewModel是在运行InitializeComponent()之前设置的标准属性 Instance是一个实现INotifyPropertyChanged的简单对象 加载Instance ,我为Instance引发了一个属性更改事件。 我甚至可以调试到该行,其中用户控件的dependency属性TextValue获取正确的值 – 但不显示任何内容。 仅当我调用Bindings.Update() ,才会显示该值。 我在这里想念的是什么? 更新 我也不能使用{x:Bind … Mode=OneWay} 。 更多代码 Person.cs : using System.ComponentModel; using System.Threading.Tasks; namespace App1 { public class Person : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; private string name; public string Name { get { return this.name; } […]

确定Metro应用程序正在Windows 8选项卡或台式PC中运行

我正在使用Windows 8 metro风格开发应用程序。 如果它在平板电脑上运行,与平板电脑相比,此应用程序还有一些function。 但我的问题是如何检测app在PC或Tab中运行。 我不想单独为PC和TAB发布2版本。 请帮我。 更新:Wheter可以使用GetSystemMatrics吗? 在桌面上,我们的应用程序的行为类似于客户端和服务器,但在选项卡和移动设备中,它的行为仅限于客户端

在Windowsapp store应用中更改光标

我在C#中创建一个Windowsapp store应用,我有一个普通的TextBlock ,里面有一个链接。 而我想做的就是让光标在文本块上移动时变成一只手,但与WPF应用程序不同,没有Cursor适当性。 我知道是Windows.UI.Core的CoreCursor类。 我想以某种方式使用它吗?

ListView上的水平滚动

我目前正在页面上捕获PointerMoved事件以使用水平菜单。 因此,用户可以向左/向右滑动,页面将相应地设置动画。 这在用户触摸静态元素(TextBlock等)时有效,但如果它们触摸ListView则会捕获触摸事件。 如何实现ListView,以便当用户垂直滚动时,它正常工作,但当用户水平滚动时,它会将事件传递给我的代码?

如何从WinRT / Windowsapp store应用程序发送电子邮件?

我正在开发Windowsapp store应用程序(Windows 8)。 我需要根据存储在应用程序数据中的数据和地址发送电子邮件,而无需用户输入数据或地址。 实现它的正确/简单方法是什么? EitanB