0

我想创建一堆可绑定的属性,供整个应用程序的视图使用。标签中的默认字体大小/颜色-诸如此类。当属性发生变化时,我希望所有视图都能反映这种变化。这可能吗?如何在 xaml 中引用这样的属性?

4

1 回答 1

1

所以我认为你可以通过这两种方式进行。

1) 使用动态资源。在您的 xaml 文件中,您可以像指定 StaticResource 一样指定资源,但改用 DynamicResource。然后在后面的代码中你可以修改资源字典并且视图应该更新。您可以在 Petzold 书的第 10 章中找到这方面的示例:( https://developer.xamarin.com/guides/xamarin-forms/creating-mobile-apps-xamarin-forms/

2)使用价值转换器。您可以将 xaml 控件中的属性绑定到视图模型中的属性,并指定一个值转换器以从某个通用值或枚举转换为 UI 视图值(例如 Visibilty 或颜色等)。您可以找到值的示例Petzold 书中第 16 章中的转换器。

就个人而言,我认为您应该使用上面的选项 1,除非属性与工作流有某种关联,而不是查看自定义。如果您向用户展示控件以更改字体大小或颜色等内容,那么选项 2 可能会更好。

于 2017-05-04T14:37:19.343 回答