【发布时间】:2017-05-14 15:16:31
【问题描述】:
大家。
有谁知道如何将全局静态字符串绑定到 UWP 文本块,并控制属性更改更新?
我尝试了很多东西,比如:
Text="{Binding Path={local:AppSettings.StorageFolder}, Mode=OneWay}"
Text="{x:Bind Path=(local:AppSettings.StorageFolder), RelativeSource={RelativeSource Self}, Mode=OneWay}"
没有一个有效。总是会出现一些错误,例如: “不支持嵌套类型,并且 值不在预期范围内”
我已经设法将它绑定到我班级中的非静态值:
Text="{x:Bind viewModel.MyValue, Mode=OneWay}"
有什么解决办法吗?
谢谢。
【问题讨论】:
-
我强烈建议你尽量去掉静态变量。
-
拥有全局变量(例如应用程序设置)的最佳方式是什么,这些变量可以在每个页面上看到并且可以更改?
-
没有一种特殊的“最佳”方式可以做到这一点,而使用全局/静态变量是最糟糕的方式。
-
好的,你有什么建议?
-
这在很大程度上取决于您的应用架构。至少,您可以将其设为 App 类的成员,然后使用 App.Current 访问 App 类(尽管它仍然是静态成员)。还有许多其他方法,例如依赖注入或设置服务和服务定位器。
标签: c# xaml uwp win-universal-app uwp-xaml