c# - 在应用程序中使用用户可更改设置的正确方法是什么

标签 c# uwp windows-runtime uwp-xaml

假设有一个用户可以更改的 ThumbnailWidth 变量,它应该可以通过 XAML 中的绑定(bind)访问,也可以从提取缩略图的类中访问。

我们可以添加一个静态类,但用户将无法更改那里定义的值。在 WPF 中,我们可以简单地使用设置中定义的 properties.settings.default.ThumbnailWidth,但我不确定这是否是正确的使用方法。

您在项目中使用的方式是什么?

最佳答案

这就是我通常处理应用程序设置的方式。首先,我在窗口声明中添加以下内容(这是一个定义设置位置的自定义 XML 命名空间声明):

xmlns:p="clr-namespace:MyNamespace.Properties"

然后,我在需要的地方绑定(bind)设置...例如:

<TextBlock Width="{Binding Source={x:Static p:Settings.Default}, Path=Width, Mode=TwoWay}"/>

<CheckBox IsChecked="{Binding Source={x:Static p:Settings.Default}, Path=MySetting, Mode=TwoWay}"/>

etc...

最后,我在关闭应用程序时保存修改的设置:

protected override void OnClosing(CancelEventArgs e)
{
    Properties.Settings.Default.Save();
    base.OnClosing(e); 
}

关于c# - 在应用程序中使用用户可更改设置的正确方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47624204/

相关文章:

c# - 如何在 C# 中优化枚举赋值

c# - const Enum 避免循环定义的最佳实践命名约定

c# - 如何在 Windows 10 通用应用程序中切换到后置摄像头

c# - 从 UWP 获取 TCP 服务器上的实时数据(更新)

windows-8 - WinRT中的网络检查(C#实现)

C# Excel - 将每个工作表保存到一个新工作簿

c# - TransmitFile 缺少文件末尾的单个字节

c# - .net 中的 TextBox LostFocus-Event 总是在 Button Click-Event 之前引发?

c# - Windows Phone 8.1 媒体捕获方向 C#

c# - WinRT C++(Win10)、opencv HSV色彩空间、图像显示、神器