如何在XAML中使用与Xam.plugins.settings一起存储的设置?
问题描述:
谢谢到James Montemagno这个插件。 [https://jamesmontemagno.github.io/SettingsPlugin/]如何在XAML中使用与Xam.plugins.settings一起存储的设置?
我已经很容易地在我的c#代码中使用它:CrossSettings.Current.GetValueOrDefault("abc", "")
但我也想在我的XAML中使用这些设置。
这个插件之前,我是用我自己的基本(低效率)阵列设置和使用:... Text="{x:Static local:Settings.abc}"
...现在我已经完全转换到这个插件。它在c#中运行良好,但我正在努力使它在XAML中工作。
我试过{x:Static local:Helpers.Settings.GeneralSettings.abc}
和{x:Static helps:Settings.GeneralSettings.abc}
(创建xmlns:help)。
如何在我的XAML代码中使用这些设置?
答
最好的办法是设置一个属性访问器(get/set) - 并将该控件绑定到该方法。
作为一个快速(单程)例如..
页背后
public int MyNumber
{
//This may be different, depending on what your Settings class has been named and where its reference has been stored - but it is the same plugin.
return App.Settings.GetValueOrDefault("myNumber",0);
}
代码XAML
<Label Text="{Binding MyNumber}"/>
你还需要确保你”已经设置了BindingContext
。我发现在页面构造器中最简单的做法是在InitializeComponent();
之后,只需使用BindingContext = this;
即可。
更复杂的实现(双向数据绑定)可以在Settings Plugin Documentation中找到。