UWP:在按钮单击事件上取消选中 ListView 内的复选框

问题描述 投票:0回答:1
c# uwp-xaml
1个回答
0
投票

我尝试过循环列表视图并将属性设置为 false,但它不起作用。

您的复选框绑定到

IsFavorite
属性。因此,如果您想取消选中它,只需更新
IsFavorite
属性的值即可。要在属性值更改时更新 UI,您的
SelectedDataModel
类需要实现 INotifyPropertyChanged Interface

public class SelectedDataModel : INotifyPropertyChanged
{
    private int _Id;

    public int Id
    {
        get { return _Id; }
        set
        {
            if (_Id != value)
            {
                _Id = value;
                PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("Id"));
            }
        }
    }

    private string _Message;

    public string Message
    {
        get { return _Message; }
        set
        {
            if (_Message != value)
            {
                _Message = value;
                PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("Message"));
            }
        }
    }

    private bool _IsFavorite;

    public bool IsFavorite
    {
        get { return _IsFavorite; }
        set
        {
            if (_IsFavorite != value)
            {
                _IsFavorite = value;
                PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("IsFavorite"));
            }
        }
    }

    public event PropertyChangedEventHandler PropertyChanged;
}

然后,在按钮单击事件处理程序中,您只需将

listData
中每个项目的 IsFavorite 更改为 false。

foreach (var item in listData)
{
    item.IsFavorite = false;
}
© www.soinside.com 2019 - 2024. All rights reserved.