如何在XAML中使用与Xam.plugins.settings一起存储的设置?

时间:2017-09-27 15:18:13

标签: c# xaml plugins xamarin.forms settings

感谢 James Montemagno 此插件。[https://jamesmontemagno.github.io/SettingsPlugin]

我很容易在我的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代码中使用这些设置?

1 个答案:

答案 0 :(得分:1)

执行此操作的最佳方法是设置属性访问器(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中找到更复杂的实现(使用双向数据绑定)。