簡體   English   中英

我如何在后面的代碼中獲取WPF DataGrid的Row CheckBox的Checked事件

[英]how can I get the WPF DataGrid's Row CheckBox's Checked Event in code behind

我正在關注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>

現在如何獲取文件后面代碼中各列的已檢查事件。

您可以在DataGridCheckBoxColumn上處理綁定的SourceUpdated事件。 要獲得此事件,您還需要設置

NotifyOnSourceUpdated = true

在那個約束上

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM