首页 > 解决方案 > 将 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 中解决这个问题?

标签: xamarinmvvmxamarin.forms

解决方案


SelectedItem 未设置 null,因为您在 setter 方法中有 null 检查条件。

问题在这里

if (value != null)
{
    SelectedItem = value;
    OnPropertyChanged();
}

您正在检查是否该值不为空,然后设置该值。只需删除条件并检查。

解决方案:

LocalProductSummary _selectedItem;
public LocalProductSummary SelectedItem
{
    get { return _selectedItem; }
    set
    {
        _selectedItem = value;
        OnPropertyChanged();
    }
} 

推荐阅读