【发布时间】:2016-03-21 12:14:38
【问题描述】:
我有一个 WPF DataGrid 控件,其中还有一个 DataTemplate (CheckBox) 控件,如下所示
<DataGridTemplateColumn Width="50" MinWidth="20" >
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<!--<TextBlock Text="Manage" FontSize="18" Foreground="#FF666666" HorizontalAlignment="Center" Margin="50,0" />-->
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" Margin="10,0,0,0" >
<CheckBox x:Name="chkBox_CheckAllStuRow" Width="20" Height="auto" Checked="chkBox_CheckAllStuRow_Checked" />
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" >
<CheckBox x:Name="chkBox_CheckStuRow" Width="20" Height="20" />
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="First Name" Width="*" MinWidth="100" Binding="{Binding f_name}" />
<DataGridTextColumn Header="Last Name" Width="*" MinWidth="100" Binding="{Binding l_name}" />
<DataGridTextColumn Header="Phone No" Width="*" MinWidth="100" Binding="{Binding phone}" />
<DataGridTemplateColumn Width="auto" MinWidth="250" >
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="Manage" FontSize="18" Foreground="#FF666666" HorizontalAlignment="Center" Margin="50,0" />
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" >
<Button x:Name="btn_ViewStu" Content="View" FontSize="14" HorizontalAlignment="Center" Height="27" Margin="3" Style="{DynamicResource ActiveButtonStyle}" Width="65" Click="btn_ViewStu_Click" />
<Button x:Name="btn_DeleteStu" Content="Delete" FontSize="14" HorizontalAlignment="Center" Height="27" Margin="3" Style="{DynamicResource DangerButtonStyle}" Width="65" Click="btn_DeleteStu_Click" />
<Button x:Name="btn_withDrwStu" Content="Withdraw" FontSize="14" HorizontalAlignment="Center" Height="27" Margin="3" Style="{DynamicResource DangerButtonStyle}" Width="70" />
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
我现在想要实现的是从我的 C# 代码中访问复选框控件的变量名称。提前致谢。
【问题讨论】:
-
你能指定为什么你需要复选框的名称吗?这听起来对 WPF 来说是一种不好的做法。
-
DataGrid 中每一行的某一列下都填有一个CheckBox,列标题也有一个CheckBox。我想要的只是当列标题 CheckBox 被选中时,CheckBox Column 下的 Rows 中的所有 CheckBox 也将被选中。谢谢。