Wpf 我有一个带有复选框的列表,我想调用视图模式';仅当复选框处于选中状态时,才会显示选定的属性

Wpf 我有一个带有复选框的列表,我想调用视图模式';仅当复选框处于选中状态时,才会显示选定的属性,wpf,vb.net,Wpf,Vb.net,这是我的WPF清单。。我只想在选中我的复选框时提升我所选的属性,并且我只想使用MVVM样式进行提升。如果我理解正确,这很容易 您的模型应该实现INotifyPropertyChanged我正在为WPF UI中使用的每个属性更改属性。我是否应该实现INotifyPropertyChanged,然后为列表中的任何更改订阅它?您应该使用ObservableCollection,列表不适合用作ItemsSource。是的,它通过使用ObservableCollection工作。我尝试的第二种方法是使用



这是我的WPF清单。。我只想在选中我的复选框时提升我所选的属性,并且我只想使用MVVM样式进行提升。

如果我理解正确,这很容易


您的模型应该实现INotifyPropertyChanged

我正在为WPF UI中使用的每个属性更改属性。我是否应该实现INotifyPropertyChanged,然后为列表中的任何更改订阅它?您应该使用ObservableCollection,列表不适合用作ItemsSource。是的,它通过使用ObservableCollection工作。我尝试的第二种方法是使用checkbox的Checked事件并将其绑定到view model,这两种方法都可以正常工作。我是否正确理解,如果项目未选中,您希望实现行为?它无法被选中?
<dg:DataGrid AutoGenerateColumns="False" AlternationCount="2" 
                                     BorderThickness="1"
                                     BorderBrush="{DynamicResource stdTextboxBroderBrush}"
                                     ItemsSource="{Binding Path=ObjList, Mode=OneWay}"                                      
                                     HorizontalScrollBarVisibility="Hidden"
                                     Height="200"
                                     VerticalScrollBarVisibility="Auto"                                         
                                     SelectedItem="{Binding Path=SelectedItem, Mode=TwoWay}"                                     
                                     acb:PreviewKeydownEventArgsHandler.HandlePreViewKeyDown="True"
                                     SelectionUnit="FullRow">
                                <dg:DataGrid.Columns>
<dg:DataGridTemplateColumn.CellTemplate>
    <DataTemplate>
                                                <CheckBox HorizontalAlignment="Center"  IsChecked="{Binding Path=SelectFlag, Mode=TwoWay}">
                                                </CheckBox>
                                            </DataTemplate>
                                        </dg:DataGridTemplateColumn.CellTemplate>
                                    </dg:DataGridTemplateColumn>