C# 复选框PropertyChanged未被激发

C# 复选框PropertyChanged未被激发,c#,wpf,data-binding,mvvm,C#,Wpf,Data Binding,Mvvm,我有一个MVVM应用程序正在运行,试图在datagrid中绑定一个复选框,但是Propertychanged事件没有触发。我已经在viewmodel和基类上实现了INotifypropertychanged,但该属性仍然不会激发,复选框也不会更新。我已经尝试了所有可能的方法,比如设置updatesourcetrigger=explicit或propertychanged,但都不起作用。我可能做错了什么??我没办法弄清楚。网格的datacontext被设置为绑定到ObservableCollect

我有一个MVVM应用程序正在运行,试图在datagrid中绑定一个复选框,但是Propertychanged事件没有触发。我已经在viewmodel和基类上实现了INotifypropertychanged,但该属性仍然不会激发,复选框也不会更新。我已经尝试了所有可能的方法,比如设置updatesourcetrigger=explicit或propertychanged,但都不起作用。我可能做错了什么??我没办法弄清楚。网格的datacontext被设置为绑定到ObservableCollection的ListViewCollection

                    <DataGridCheckBoxColumn Header="Tier1" Binding="{Binding Tier1Check,Mode=TwoWay}"></DataGridCheckBoxColumn>
                    <DataGridCheckBoxColumn Header="Tier2" Binding="{Binding Tier2Check,Mode=TwoWay}"></DataGridCheckBoxColumn>
                    <DataGridCheckBoxColumn Header="Tier3" Binding="{Binding Tier3Check,Mode=TwoWay}"></DataGridCheckBoxColumn>
                    <DataGridCheckBoxColumn Header="DoNotUse" Binding="{Binding DoNotUseCheck,Mode=TwoWay}"></DataGridCheckBoxColumn>

                    <!--<DataGridCheckBoxColumn Header="Tier1" Binding="{Binding IsChecked}"  />
                    <DataGridCheckBoxColumn Header="Tier2" Binding="{Binding IsChecked}" />
                    <DataGridCheckBoxColumn Header="Tier3" Binding="{Binding IsChecked}"/>-->
            </DataGrid.Columns>
        </DataGrid>

                    <DataGridCheckBoxColumn Header="Tier1" Binding="{Binding Tier1Check,Mode=TwoWay}"></DataGridCheckBoxColumn>
                    <DataGridCheckBoxColumn Header="Tier2" Binding="{Binding Tier2Check,Mode=TwoWay}"></DataGridCheckBoxColumn>
                    <DataGridCheckBoxColumn Header="Tier3" Binding="{Binding Tier3Check,Mode=TwoWay}"></DataGridCheckBoxColumn>
                    <DataGridCheckBoxColumn Header="DoNotUse" Binding="{Binding DoNotUseCheck,Mode=TwoWay}"></DataGridCheckBoxColumn>

                    <!--<DataGridCheckBoxColumn Header="Tier1" Binding="{Binding IsChecked}"  />
                    <DataGridCheckBoxColumn Header="Tier2" Binding="{Binding IsChecked}" />
                    <DataGridCheckBoxColumn Header="Tier3" Binding="{Binding IsChecked}"/>-->
            </DataGrid.Columns>
        </DataGrid>

需要完整的当前代码才能查看它。我看到您的
Tier1Check
属性获取并设置了一个名为
Tier1Check
的成员,这可能会导致堆栈溢出异常,因为您引用的是属性本身。我有一个基类,它定义了集合对象的属性,该集合对象继承了INotifyPropertchanged。我已经在视图模型和已更改事件中定义了对象的属性。datagrid无法触发任何这些事件。由于长度限制,我无法将代码粘贴到这里。请有人帮忙吗?我迫切需要尽快解决这个问题。您是否在运行时(参见输出窗口)看到数据错误(绑定错误)?你能参与调试以提高性能变更行吗?