【发布时间】:2020-02-06 18:25:29
【问题描述】:
在我的 xamarin 项目中,选择器绑定中,SelectedItem 不起作用。当我将 ItemSource 设置为 List 时,SelectedItem 可以工作,但是当我将 ItemSource 更改为 ObservableCollection 时,SelectedItem 总是返回 null。有人能看出我做错了吗?
在加载视图时,选择器通过数据绑定填充。然后在一个按钮事件上,我尝试抓取 SelectedItem....,这就是它返回为 null 的时候。
xaml
<Picker x:Name="PickerMarket2" Title="Market2" ClassId="PickerMarket2"
ItemsSource="{Binding TestList2}"
ItemDisplayBinding="{Binding ShortDesc}"
SelectedItem="{Binding SelectedMarket}"
Grid.Row="0" Grid.Column="1" >
</Picker>
查看模型
class VamiMarketViewModel: INotifyPropertyChanged
{
private List<string> _testList;
public List<string> TestList
{
get { return _testList; }
set
{
{
_testList = value;
NotifyPropertyChanged();
}
}
}
private ObservableCollection<Performance> _testList2;
public ObservableCollection<Performance> TestList2
{
get { return _testList2; }
set
{
{
_testList2 = value;
NotifyPropertyChanged();
}
}
}
private string _selectedMarket;
public string SelectedMarket
{
get { return _selectedMarket; }
set
{
{
_selectedMarket = value;
NotifyPropertyChanged();
}
}
}
【问题讨论】:
-
这个确切的问题刚刚在您之前的问题中向您解释过。您的 ItemSource 是 List
但您的 SelectedItem 是字符串。
标签: xamarin data-binding picker