C# 未从ObservableCollection更新WPF ListView
我有一个ListView,它有一个可观察的集合作为ItemsSource。 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
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");
}
}
}