我有这个代码,我有一个带有复选框的可观察集合(类型Herarhy模型)的代码。 在某些事件中,我将复选框设置为禁用。WPF没有响应可观察集合中的复选框c#
问题: - 当我用debbuger运行代码时,我发现它确实已更改为禁用,但在界面上看不到更改。
我认为这是一些可观察的集合。 也当我从可观察集合中删除该项目并将其重新放回时它会更新。
<ListView.View> <GridView AllowsColumnReorder="False"> <GridViewColumn Width="50" Header=" "> <GridViewColumn.CellTemplate> <DataTemplate> <CheckBox IsChecked="{Binding RelativeSource={RelativeSource AncestorType={x:Type ListViewItem}}, Path=IsBulkUpdatedChecked}" IsEnabled="{Binding RelativeSource={RelativeSource AncestorType={x:Type ListViewItem}}, Path=IsBulkUpdatedEnabled}"/> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> <GridViewColumn Width="175" Header="Project Name" DisplayMemberBinding="{Binding Name}"/> <GridViewColumn Width="120" Header="Code" DisplayMemberBinding="{Binding Code}"/> <GridViewColumn Width="120" Header="Step" DisplayMemberBinding="{Binding SelectedStep}"/> <GridViewColumn Width="150" Header="Version Name" DisplayMemberBinding="{Binding ActiveVersion}"/> </GridView>
private ObservableCollection<HierarchyModel> _ProjectsFamily = new ObservableCollection<HierarchyModel>(); public ObservableCollection<HierarchyModel> ProjectsFamily { get { return _ProjectsFamily; } set { _ProjectsFamily = value; RaisePropertyChanged("ProjectsFamily"); } } public bool IsBulkUpdatedChecked { get { return Hierarchy.IsBulkUpdatedChecked; } set { Hierarchy.IsBulkUpdatedChecked = value; RaisePropertyChanged("IsBulkUpdatedChecked"); } } public bool IsBulkUpdatedEnabled { get { return Hierarchy.IsBulkUpdatedEnabled; } set { Hierarchy.IsBulkUpdatedEnabled = value; RaisePropertyChanged("IsBulkUpdatedEnabled"); } }
是什么层次?你在属性的getter/setter中使用它。另外,尝试将BindingMode设置为CheckBoxe的IsChecked为TwoWay – 2014-09-22 14:57:18
我认为这是可观察集合中的某些事情。当我从可观察集合中删除该项目并将其重新放回时,它也会更新。 – igor 2014-09-22 15:03:29