您可以使用一个类来表示您的项目,也许是一个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. –