如何绑定到MVVM中的DataGridCheckBoxColumn

时间:2011-04-03 01:18:31

标签: mvvm

我有一个使用此代码段的视图:

<DataGrid AlternatingRowBackground="#FFF2F5F1"
          AutoGenerateColumns="False"
          Grid.Row="0"
          GridLinesVisibility="None"
          IsReadOnly="False"
          IsSynchronizedWithCurrentItem="True"
          ItemsSource="{Binding Path=ClassSessionAttendenceAll}"
          SelectedItem="{Binding Path=SelectedAttendence, Mode=TwoWay}"
          Margin="5,5,5,5"
          RowHeight="20"
          SelectionMode="Single"
          IsEnabled="{Binding AttendenceGridEnabled}">

          <DataGrid.Columns>
              <DataGridTextColumn Binding="{Binding Path=ClientName}"                                                             
                                  Header ="Client's name" Width="2*"  />
              <DataGridCheckBoxColumn Binding="{Binding Attended, Mode=TwoWay, UpdateSourceTrigger =PropertyChanged}"
                                      Header="Is Present?"   
                                      Width="*">

              </DataGridCheckBoxColumn>
          </DataGrid.Columns>
</DataGrid>

我在更改DataGridCheckBoxColumn复选框时遇到问题。 整个datagrid绑定到List,DataGridTextColumn绑定到属性Attendance.ClientName和DataGridCheckBoxColumn绑定到另一个属性Attendance.Attended

那么,如何在ModelView中更改CheckBox? 我可以选择没有问题..但有'但' - 检查事件发生在选择事件后,我没有得到该复选框的选定状态。我可能错过了一步..但需要帮助才能实现.. :) ..谢谢!