我想创建一堆可绑定的属性,供整个应用程序的视图使用。标签中的默认字体大小/颜色 - 那种东西。当属性发生变化时,我希望所有视图都能反映出这种变化。这可能吗?我如何在xaml中引用这样的属性?
答案 0 :(得分:1)
所以我认为你可以采取这两种方式。
1)使用动态资源。在您的xaml文件中,您可以像使用StaticResource一样指定资源,但请使用DynamicResource。然后在代码后面你可以修改资源字典,视图应该更新。你可以在Petzold书的第10章找到这方面的例子:(https://developer.xamarin.com/guides/xamarin-forms/creating-mobile-apps-xamarin-forms/)
2)使用值转换器。您可以将xaml控件中的属性绑定到视图模型中的属性,并指定值转换器以将某些常规值或枚举转换为UI视图值(例如Visibilty或颜色等)您可以找到值的示例第16章中的Petzold书中的转换器。
就我个人而言,我认为您应该使用上面的选项1,除非属性与工作流有某种关联,而不是查看自定义。如果您向用户呈现控件以更改字体大小或事物颜色等内容,则可能选项2更好。