xamarin - 将 SelectedItem 设置为 null 不会重置选定的列表项
问题描述
在我的视图模型中设置后,a 的选定项目ListView
不会重置。SelectedItem=null
在我的 XAML 中,ListView.SelectedItem
绑定到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();
}
您正在检查是否该值不为空,然后设置该值。只需删除条件并检查。
解决方案:
LocalProductSummary _selectedItem;
public LocalProductSummary SelectedItem
{
get { return _selectedItem; }
set
{
_selectedItem = value;
OnPropertyChanged();
}
}
推荐阅读
- html - 允许父 div 溢出窗口宽度
- scip - GCG/错误:调用hmetis不成功!在“优化”过程中发生
- css - 设置TextField高度material-ui
- python - 将数据库查询转换为有用的格式
- google-app-engine - 在 App Engine 中找不到动态 HTML 页面。返回无法获取 /index
- ruby-on-rails - 自定义设计 SessionsController 创建动作
- c# - ModelState.IsValid 为 false
- ruby - Ruby Script 中的 Sqlite3 值不能作为字符串工作
- css - 使用本地 css 时,引导字形图标无法正确呈现
- c# - UserManager.CheckPasswordAsync 与 SignInManager.PasswordSignInAsync