偏好

时间:2015-10-09 05:40:42

标签: c# android mvvmcross

有没有办法使用MvvmCross绑定Android偏好设置?我的意思是这样的:

<PreferenceScreen
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:local="http://schemas.android.com/apk/res-auto">
    <EditTextPreference
      android:title="Name"
      android:key="NameKey"
      android:summary="Input your name"
      local:MvxBind="Title Name; Enabled NameIsEnabled"/>
  </PreferenceCategory>
</PreferenceScreen>

我需要绑定,因为我想动态修改首选项并本地化标题和摘要。我目前正在使用此Andrei Nitescu's idea进行本地化。我可以通过实现自己的BindablePreferenceFragment或BindableEditTextPreference来实现这个目的吗?

1 个答案:

答案 0 :(得分:0)

为什么不绑定到这样的属性?

SpinnerItem _selectedNumberPlayers;
public SpinnerItem SelectedNumberPlayers
{
    get { return _selectedNumberPlayers; }
    set
    {
        if (_selectedNumberPlayers != value)
        {
            _selectedNumberPlayers = value;

            SettingsPreferences.SelectedNumberPlayers = _selectedNumberPlayers.Index;

            RaisePropertyChanged(() => SelectedNumberPlayers);
        }
    }
}

这是绑定:

<Mvx.MvxSpinner
    android:layout_weight="0.3"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    local:MvxItemTemplate="@layout/item_spinner"
    local:MvxBind="ItemsSource NumberPlayers; SelectedItem SelectedNumberPlayers"
    android:id="@+id/SelectedTopPlayersSpinner" />