您可以使用一個類來表示您的項目,也許是一個PrivacyLevel
類。您可以使用List<PrivacyLevel>
而不是將您的Picker與字符串列表綁定。 PrivacyLevel類包含你想要顯示的文本和你想要保存/存儲/使用的值。
public class PrivacyLevel
{
public string Name { get; set; }
public int Value { get; set; }
}
然後用選項填充您的ViewModel。
public List<PrivacyLevel> Privacies { get; set; } = new List<PrivacyLevel>()
{
new PrivacyLevel(){Name = "Public",Value = 1},
new PrivacyLevel(){Name = "Private",Value = 2}
};
private PrivacyLevel _privacy;
public PrivacyLevel Privacy{
get{
return _privacy;
}
set{
_privacy=value;
OnPropertyChanged();
}
}
最後,
<Picker Title="Privacy"
ItemsSource="{Binding Privacies}"
SelectedItem="{Binding Privacy}"
ItemDisplayBinding="{Binding Name}"/>
Remeber,現在你有一個的SelectedItem這是一個對象,如果你想使用的價值,你需要訪問它的屬性。
有點困惑, 我在這段代碼中定義了我的文本「Public」和「Private」? 什麼是您的代碼中的貴賓和隱私? –
您可以使用一個類來表示您的項目,也可以是一個PrivacyLevel類。你可以使用'List'來代替將你的Picker綁定到一個字符串的列表。 PrivacyLevel類包含你想要顯示的文本和你想要保存/存儲/使用的值。 –
它的工作正常,但我有點困惑與實施通知的變化。由於它每次都得到0. –