如何在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中找到。