Xamarin 将SelectedItem设置为null不会重置所选列表项
在my viewmodel中设置Xamarin 将SelectedItem设置为null不会重置所选列表项,xamarin,mvvm,xamarin.forms,Xamarin,Mvvm,Xamarin.forms,在my viewmodel中设置SelectedItem=null后,不会重置列表视图的选定项 在我的XAML中,ListView.SelectedItem绑定到我的viewmodel的SelectedItem SelectedItem="{Binding SelectedItem}" SelectedItem的定义如下 LocalProductSummary _selectedItem; public LocalProductSummary SelectedItem { get {
SelectedItem=null
后,不会重置列表视图的选定项
在我的XAML中,ListView.SelectedItem
绑定到我的viewmodel的SelectedItem
SelectedItem="{Binding SelectedItem}"
SelectedItem
的定义如下
LocalProductSummary _selectedItem;
public LocalProductSummary SelectedItem
{
get { return _selectedItem; }
set
{
if (value != null)
{
_selectedItem = value;
OnPropertyChanged();
}
}
}
凝固后
SelectedItem=Null
列表项不会重置
如何在MVVM中解决此问题?SelectedItem没有设置null,因为setter方法中有null检查条件
问题就在这里
if (value != null)
{
SelectedItem = value;
OnPropertyChanged();
}
您正在检查,如果该值不为null,则设置该值。只需移除条件并进行检查
解决方案:
LocalProductSummary _selectedItem;
public LocalProductSummary SelectedItem
{
get { return _selectedItem; }
set
{
_selectedItem = value;
OnPropertyChanged();
}
}
SelectedItem没有设置null,因为setter方法中有null检查条件
问题就在这里
if (value != null)
{
SelectedItem = value;
OnPropertyChanged();
}
您正在检查,如果该值不为null,则设置该值。只需移除条件并进行检查
解决方案:
LocalProductSummary _selectedItem;
public LocalProductSummary SelectedItem
{
get { return _selectedItem; }
set
{
_selectedItem = value;
OnPropertyChanged();
}
}
您是否实现了INotifyPropertyChanged
?您可以将绑定:SelectedItem=“{binding SelectedItem}”
更改为SelectedItem=“{binding SelectedItem,Mode=TwoWay}”
?添加Mode=TwoWay后不工作:(并且我已经实现了INotifyPropertyChangedis LocalProductSummary从Bindable继承的?您是否实现了INotifyPropertyChanged?是否可以更改绑定:SelectedItem=“{binding SelectedItem}”
到SelectedItem=“{binding SelectedItem,Mode=TwoWay}”
?添加Mode=TwoWay后不工作:(我已经实现了INotifyPropertyChangedis LocalProductSummary从Bindable继承的功能?