XAML:
<DataGrid Grid.Row="2" Margin="5" CanUserAddRows ="False" CanUserReorderColumns="False" x:Name="DTG_Can" AutoGenerateColumns="False" CanUserDeleteRows="False" ItemsSource="{Binding}" SelectionMode="Extended">
<DataGrid.Columns>
<DataGridCheckBoxColumn>
<DataGridCheckBoxColumn.HeaderTemplate>
<DataTemplate>
<CheckBox Click="CheckUncheckAllCan_Click"/>
</DataTemplate>
</DataGridCheckBoxColumn.HeaderTemplate>
</DataGridCheckBoxColumn>
<DataGridTextColumn Header="id" Binding="{Binding Path=id}" Visibility="Hidden" IsReadOnly="True">
<DataGridTextColumn.HeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="HorizontalAlignment" Value="Stretch"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
</Style>
</DataGridTextColumn.HeaderStyle>
</DataGridTextColumn>
....
C #
for (int i = 0; i < DTG_Can.Items.Count; i++)
{
drv = (DataRowView)DTG_Can.Items.GetItemAt(i);
var item = DTG_Can.Items[i];
var CBM = DTG_Can.Columns[0].GetCellContent(item) as CheckBox;
if (CBM.IsChecked == true && flagIns == 0) MessageBox.Show(i.ToString() + " - " + drv[2].ToString().ToUpper());
else MessageBox.Show(i.ToString() + " - No Check");
У меня есть еще один вопрос к XAML.Я использую только один столбец datagrid для всех datagridcheckbox или datagridtextcolum.Лучше использовать только один <datagrid.columns>
или использовать элемент foreach один <datagrid.columns>
?