我創建一個WPF DataGrid
控制與DataGridTemplateColumn
複選框應該具備哪些器isChecked屬性設置爲取決於DataTable
值真或假)...WPF DataGridTemplateColumn - 觸發的複選框物業器isChecked
如果DataTable
行的值設置爲,DataGridTemplateColumn
應該是true(選中)。否則,這將是假(未選中)...默認情況下,每一個新的行會被設置爲真,但我不能這些CheckBox
行綁定到我的DataTable
值(這將是或)
我試過以下c#代碼。當我完成UserControl版本並通過我的DataTable
循環以保存其值...但是,當我設置gridResultados.ItemsSource = dataTable.DefaultView顯然不檢查/取消選中我的CheckBoxes
,因爲DataTable
列之間沒有綁定值(1或2)和我DataGridTemplateColumn
...這是我最親密的做法:
<DataGrid>
<DataGrid.Columns>
<DataGridTemplateColumn Header="Value?" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="True" Checked="CheckBox_Checked" Unchecked="CheckBox_Unchecked">
<Style TargetType="{x:Type CheckBox}">
<Style.Triggers>
<Trigger Property="Content" Value="1">
<Setter Property="IsChecked" Value="True"/>
</Trigger>
<Trigger Property="Content" Value="2">
<Setter Property="IsChecked" Value="False"/>
</Trigger>
</Style.Triggers>
</Style>
</CheckBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
private void CheckBox_Checked(object sender, RoutedEventArgs e)
{
dataTable.Rows[gridResultados.SelectedIndex].SetField(4, 1);
}
private void CheckBox_Unchecked(object sender, RoutedEventArgs e)
{
dataTable.Rows[gridResultados.SelectedIndex].SetField(4, 2);
}
你好金剛, 它工作正如我想。我會做一些研究,以提高我的知識和我的WPF項目......謝謝! –