Если вы используете MVVM с Picker
в Xamarin Forms , вы можете избежать нулевого значения при заданном значении для модели.
Например, иметь Модель выглядит следующим образом:
public class Model
{
private string name;
public string Name
{
get
{
return name;
}
set
{
if (name != value & null != value)
{
name = value;
}
else
{
name = "Default Value";
}
}
}
}
Используется в ViewModel и инициализируется нулевым значением insd ie it.
public class ViewModel
{
public List<Model> monkeyList { set; get; }
public ViewModel()
{
monkeyList = new List<Model>();
monkeyList.Add(
new Model() {
Name = "Baboon"
});
monkeyList.Add(
new Model()
{
Name = "Capuchin"
});
monkeyList.Add(
new Model()
{
Name = "Squirrel"
});
monkeyList.Add(
new Model()
{
Name = "Howler"
});
monkeyList.Add(
new Model()
{
Name = null
});
}
}
Затем в Xaml , Picker
покажет данные без проблем.
<Picker x:Name="picker"
Title="Select a monkey"
TitleColor="Red"
ItemsSource="{Binding monkeyList}"
ItemDisplayBinding="{Binding Name}">
</Picker>
Эффект выглядит следующим образом:
