C# 未从ObservableCollection更新WPF ListView

C# 未从ObservableCollection更新WPF ListView,c#,wpf,listview,C#,Wpf,Listview,我有一个ListView,它有一个可观察的集合作为ItemsSource。 ListView包含多个列,其中一个是复选框。 当我选择一行时,我希望复选框变为选中或取消选中,这取决于它的当前值,而不是直接单击复选框 这是我到目前为止所拥有的 private void lstIndexes_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (lstIndexes.SelectedItem

我有一个ListView,它有一个可观察的集合作为ItemsSource。 ListView包含多个列,其中一个是复选框。 当我选择一行时,我希望复选框变为选中或取消选中,这取决于它的当前值,而不是直接单击复选框

这是我到目前为止所拥有的

    private void lstIndexes_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        if (lstIndexes.SelectedItem != null)
        {
            if (lstIndexes.SelectedItem is IndexData)
            {
                IndexData index = lstIndexes.SelectedItem as IndexData;
                if (index.IsChecked)
                {
                    index.IsChecked = false;
                }
                else
                {
                    index.IsChecked = true;
                }
            }
        }
    }
您需要在类
IndexData
上实现接口,以便在底层源对象中的任何属性更改时通知UI

当从集合中添加或删除项时,ObservableCollection仅更新UI。要在基础对象中的任何属性更改上刷新UI,INPC是一种方法

private bool isChecked;
public bool IsChecked
{
   get { return isChecked; }
   set
   {
       if(isChecked != value)
       {
          isChecked = value;
          // Call OnPropertyChanged whenever the property is updated
          OnPropertyChanged("IsChecked");
       }
    }
}
您需要在类
IndexData
上实现接口,以便在底层源对象中的任何属性更改时通知UI

当从集合中添加或删除项时,ObservableCollection仅更新UI。要在基础对象中的任何属性更改上刷新UI,INPC是一种方法

private bool isChecked;
public bool IsChecked
{
   get { return isChecked; }
   set
   {
       if(isChecked != value)
       {
          isChecked = value;
          // Call OnPropertyChanged whenever the property is updated
          OnPropertyChanged("IsChecked");
       }
    }
}
您需要在类
IndexData
上实现接口,以便在底层源对象中的任何属性更改时通知UI

当从集合中添加或删除项时,ObservableCollection仅更新UI。要在基础对象中的任何属性更改上刷新UI,INPC是一种方法

private bool isChecked;
public bool IsChecked
{
   get { return isChecked; }
   set
   {
       if(isChecked != value)
       {
          isChecked = value;
          // Call OnPropertyChanged whenever the property is updated
          OnPropertyChanged("IsChecked");
       }
    }
}
您需要在类
IndexData
上实现接口,以便在底层源对象中的任何属性更改时通知UI

当从集合中添加或删除项时,ObservableCollection仅更新UI。要在基础对象中的任何属性更改上刷新UI,INPC是一种方法

private bool isChecked;
public bool IsChecked
{
   get { return isChecked; }
   set
   {
       if(isChecked != value)
       {
          isChecked = value;
          // Call OnPropertyChanged whenever the property is updated
          OnPropertyChanged("IsChecked");
       }
    }
}