Tag: win universal app

Windows 10 UWP应用程序 – 在桌面上设置窗口大小

我刚刚开始使用Visual Studio 2015 Community Edition在Windows 10 Pro上学习UWP应用程序开发。 我尝试通过在MainPage.xaml中设置Page标签的Width和Height属性来修改官方“Hello,world”示例的C#版本 。 有趣的是,当我启动应用程序时,它的大小会有所不同。 此外,如果我调整窗口大小然后重新启动它,应用程序似乎记住它以前的窗口大小。 是否可以强制UWP应用程序具有预定义的窗口大小,至少在桌面PC上?

后退按钮的基于页面的操作

我的问题是如何为给定页面定义自己的操作,即首先单击后退按钮关闭弹出窗口,然后从页面导航? 由于WP8.1 NavigationHelper非常有用,它只给出了一个用于单击后退键(退出页面)的一般操作。 我无法覆盖NavigationHelper,因为它没有为其命令设置setter,后退按钮点击的处理程序是私有的,所以我无法在输入页面时取消固定它。 由于我正在为W8.1和WP8.1开发通用应用程序,因此在NavigationHelper中进行更改似乎很难看,而且我有多个页面需要自定义处理程序来执行后退按钮。 – 编辑 – 命令允许覆盖,但我将在每个页面上使用原始命令。 解决方案是在每个页面上创建新命令?

如何以编程方式检测Windows Phone 8.1操作系统版本?

标题中的问题不是真正的问题。 我浏览了很多网站和博客,并了解到Environment.OSVersion使用我们的应用程序为您提供了手机的当前操作系统版本。 但问题是,类环境下没有OSVersion。 请参阅屏幕截图以便更好地理解。 我的问题为什么我无法在Environment类下看到OSVersion属性? 我错过了什么吗? 所有建议和答案都赞赏。 谢谢!

Visual Studio 2015(社区)设计器显示空白Universal App的NullReferenceException

我对此感到有些沮丧,也许有人遇到了类似的问题或者想知道如何修复它。 我升级到Windows 10。 我安装了Visual Studio 2015社区。 我创建了一个新的解决方案,只有一个项目用于空白的通用Windows应用程序。 我正在使用C#。 问题:我试图在设计器中打开MainPage.xaml,但设计器不会加载。 我在设计器窗口中得到NullReferenceException 。 我尝试在Blend中打开它,结果相同。 正如Visual Studio建议的那样,我尝试关闭“选项”菜单中的“在XAML Designer中运行项目代码”function,但它没有帮助。 在设计器中打开其他xaml文件没有问题(WPF,Windows Phone 8或8.1 Universal应用程序都可以正常工作)。 该应用程序在本地计算机上运行,​​在模拟器中,只有设计者才能执行。 欢迎任何建议。 编辑 设计师窗口的例外情况: System.NullReferenceException Object reference not set to an instance of an object. at Microsoft.VisualStudio.DesignTools.Platform.Metadata.MetadataStore.GetTypeConverter(Type type) at Microsoft.VisualStudio.DesignTools.WindowsXamlDesigner.WindowsUIXamlDesignTimeProperties.ResolveImplementation(IPlatformMetadata platformMetadata, DesignTimePropertyId neutralProperty, IType declaringType, PropertyChangedCallback callback) at Microsoft.VisualStudio.DesignTools.WindowsXamlDesigner.WindowsUIXamlDesignTimeProperties.RegisterProperty(IPropertyId neutralPropertyKey, IType declaringType, PropertyChangedCallback callback) at Microsoft.VisualStudio.DesignTools.WindowsXamlDesigner.WindowsUIXamlCommonDesignTimeProperties.Initialize(WindowsUIXamlDesignTimeProperties […]

使用编译的绑定(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; } […]

Encoding.GetEncoding无法在UWP应用中运行

我需要为本机字符编码一些文本文件。 在我的Windows 8.1商店应用程序中,我可以正常使用Encoding.GetEncoding()方法: Encoding.GetEncoding(“windows-1254”) 但在UWP应用程序中,我遇到了这个例外: 附加信息:’windows-1254’不是受支持的编码名称。 有关定义自定义编码的信息,请参阅Encoding.RegisterProvider方法的文档。 我不知道如何通过使用Encoding.RegisterProvider方法使其工作,任何想法?

在UWP墨水canvas上显示背景图像

我在我的UWP应用程序中有一个InkCanvas,并希望显示一个图像(理想情况下是Canvas的一部分,但除此之外,以某种方式覆盖它(我的想法是我可以将更改的图像保存回图像文件)。 WPF似乎允许InkCanvas有孩子,但在UWP似乎不可能。我尝试了以下内容: 但这不起作用; 我也试过这个: 公平地说,我对此没有太大的期望; 无论如何,虽然它确实有点工作,它会使图像和InkCanvas看起来都不对,显然,我不允许保存生成的图像。 理想情况下,会有背景图像或类似的东西。 有什么我可以用来实现这一目标; 我认为我可能不得不用标准canvas替换InkCanvas,然后重新编写所有InkCanvasfunction!

Windows Universal App全屏按钮

Windowsapp store中的某些应用程序在Titlebar中的最小化,最大化和关闭按钮之外还有一个全屏按钮。 如果全屏处于活动状态,此按钮看起来类似于每个应用程序在标题栏中具有的退出全屏按钮。 这是一个系统控制,如果我可以在我的C#Universal App中使用它?

Windows Phone 8.1中的设备唯一ID

如何在Windows Phone 8.1中获取设备唯一ID? 旧的使用DeviceExtendedProperties.GetValue(“DeviceUniqueId”)不适用于Windows Universal应用程序。

如何在Windows 10 Universal中获取设备的唯一标识符?

这是我的旧实现,用于获取Windows Universal 8.1的唯一DeviceID,但类型HardwareIdentification不再存在。 private static string GetId() { var token = HardwareIdentification.GetPackageSpecificToken(null); var hardwareId = token.Id; var dataReader = Windows.Storage.Streams.DataReader.FromBuffer(hardwareId); byte[] bytes = new byte[hardwareId.Length]; dataReader.ReadBytes(bytes); return BitConverter.ToString(bytes).Replace(“-“, “”); }