【发布时间】:2014-04-11 07:43:03
【问题描述】:
我的 WPF 应用程序中有一个数据网格 - dgUserSession。 它包含 3 列,其中只有 2 个文本列与数据库绑定,第一个是手动创建的复选框。
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="False" Name="userSelection" Checked="DataGridCheckBox_Checked" Unchecked="DataGridCheckBox_Unchecked"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<CheckBox Checked="chkHeader_Checked" Unchecked="chkHeader_Unchecked" Name="headerSelection">
</CheckBox>
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
</DataGridTemplateColumn>
我想遍历所有四个事件中的每一行状态
private void chkHeader_Checked(object sender, RoutedEventArgs e)
{
for (int i = 0; i < dgUserSession.Items.Count; i++)
{
}
}
但是在这个迭代过程中如何让复选框被选中呢? 我在护目镜上花了 3 小时,但没有结果。
提前致谢。
【问题讨论】:
-
我想做类似的事情:var mycheckbox = dgUserSession.Columns[0].GetCellContent(.....) 作为每行复选框的复选框,并根据选中或未选中结果执行操作。
-
您尚未发布任何有关您正在绑定的属性的信息
-
这是手动创建的复选框 - 执行某些任务。如果选中行中的复选框,则执行任务。我没有绑定任何属性。这就像我页面的 xaml。
-
@sapatelbaps 我不确定我是否完全理解你的问题,为什么不使用“DataGridCheckboxColumn”并绑定它的状态?
-
@sapatelbaps 你说的我需要双击是什么意思?
标签: c# wpf checkbox datagrid datatemplate