2012-01-25 44 views
1

我有以下代碼WPF的DataGrid我怎麼能得到WPF DataGrid的行復選框的選中事件背後

<UserControl x:Class="abc.WPFApp.UCGrid" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:WPFtoolkit="http://schemas.microsoft.com/wpf/2008/toolkit" 
    xmlns:local="clr-namespace:abc.WPFApp"> 

    <UserControl.Resources> 
<!--Restrict editing based on IsVariable--> 
     <Style x:Key="CheckBoxCellStyle" TargetType="{x:Type CheckBox}"> 
      <Style.Triggers> 
       <DataTrigger Binding="{Binding Path=IsVariable}" Value="true"> 
        <Setter Property="IsEnabled" Value="false"/> 
       </DataTrigger> 
      </Style.Triggers> 
      <Setter Property="HorizontalAlignment" Value="Center"/> 
     </Style> 
</UserControl.Resources> 
<Grid> 
     <WPFtoolkit:DataGrid x:Name="UCdataGridView" ItemsSource="{Binding}" 
                CellStyle="{StaticResource defaultCellStyle}" 
                RowStyle="{StaticResource defaultRowStyle}" 
                ColumnHeaderStyle="{StaticResource defaultDataGridColumnHeader}" 
                SelectionUnit="FullRow" 
                IsSynchronizedWithCurrentItem="True" 
                RowBackground="White" 
                AlternatingRowBackground="AliceBlue" 
            AutoGenerateColumns="False" SelectionMode="Extended" RowHeaderWidth="20" 
            CanUserAddRows="True" CanUserDeleteRows="True" CanUserReorderColumns="False" 
            CanUserResizeColumns="True" AllowDrop="True" KeyUp="UCGridKeyUp" > 
      <WPFtoolkit:DataGrid.Columns> 


<WPFtoolkit:DataGridCheckBoxColumn x:Name="dgChkRepeatingData" Binding="{Binding Path=MasterDataFlag}" MaxWidth="135" MinWidth="80" 
            Header="Repeating data" Visibility="Collapsed" IsReadOnly="{Binding (IsVariable)}" 
            EditingElementStyle="{StaticResource CheckBoxCellStyle}" 
             > 
       </WPFtoolkit:DataGridCheckBoxColumn> 

       <WPFtoolkit:DataGridCheckBoxColumn MaxWidth="100" Header="Max Element" x:Name="dgChkMaxElement" 
                Binding="{Binding Path=MaxElement}" MinWidth="70" Visibility="Collapsed" 
            EditingElementStyle="{StaticResource CheckBoxCellStyle}"> 
       </WPFtoolkit:DataGridCheckBoxColumn> 

       <WPFtoolkit:DataGridCheckBoxColumn MaxWidth="100" Header="In For Loop" x:Name="dgChkInForLoop" 
                Binding="{Binding Path=InForLoop}" MinWidth="70" Visibility="Collapsed" 
            EditingElementStyle="{StaticResource CheckBoxCellStyle}"> 
       </WPFtoolkit:DataGridCheckBoxColumn> 

       <WPFtoolkit:DataGridTextColumn x:Name="dgXPath" Binding="{Binding Path=XPath}" Header="XPath" Width="500" 
               Visibility="Collapsed" IsReadOnly="{Binding Path=IsVariable}" 
               EditingElementStyle="{StaticResource TextBoxCellStyle}"/> 
</WPFtoolkit:DataGrid.Columns> 
     </WPFtoolkit:DataGrid> 

現在,我怎麼能得到各列的背後文件中的代碼檢查事件。

回答

1

您可以在DataGridCheckBoxColumn上處理SourceUpdated綁定事件。爲了得到這個事件中,你還需要設置

NotifyOnSourceUpdated = true 

上結合

相關問題