Xamarin.Forms - 拾取器选择的项目绑定没有响应
问题描述:
我正在与xamarin.forms中的picker
字段进行简单的mvvm绑定。我下面这个指南xamarin guide setting a picker's bindingsXamarin.Forms - 拾取器选择的项目绑定没有响应
所以我做了一个模型:
public class Operation
{
public int Number { get; set; }
public string Name { get; set; }
}
的视图模型:
private List<Operation> _operations;
public List<Operation> Operations
{
get { return _operations; }
set
{
_operations = value;
OnPropertyChanged();
}
}
和查看:
<Picker
ItemsSource="{Binding Operations}"
ItemDisplayBinding="{Binding Number}"
SelectedItem = "{Binding SelectedOperation}"/>
<Entry x:Name="HelpEntry"
Text="{Binding SelectedOperation.Name}" />
在拾荒者列表项显示正确,但是当我选择一个项目号时,则不会显示Entry内的绑定。
问题是,我做错了什么?
顺便说..我这样做是因为我需要一个选择Operation's Name
可变在我的代码隐藏部分,通过使用HelpEntry.Text。这不是一个最聪明的方式,你有更好的想法做到这一点?
任何帮助将不胜感激。
答
您的ViewModel还应该包含SelectedOperation
属性,该属性在其设置器中也应该调用OnPropertyChanged
方法。
此外,您应该考虑使用ObservableCollection
而不是List
在您查看模型。
首先使用'ObservableCollection'而不是'List'。 'SelectedOperation'的setter是否调用'OnPropertyChange'方法? – Alex
..我甚至没有在视图模型中创建一个变量。现在一切都很完美。这将被接受的答案。谢谢Alex! –