Risolto,
ho aggiunto una property al mio modello:
nel mio CS ho inserito:codice:[DisplayName("IsChecked")] public bool IsChecked { get; set; }
nello XAML:codice:private void HeadCheck(object sender, RoutedEventArgs e, bool IsChecked) { var items = dgPlan.Items.OfType<AnalysisPlanItem>(); foreach (var item in items) { item.IsChecked = IsChecked; } dgPlan.Items.Refresh(); } private void chkbxSelectAll_Checked(object sender, RoutedEventArgs e) { HeadCheck(sender, e, true); } private void chkbxSelectAll_Unchecked(object sender, RoutedEventArgs e) { HeadCheck(sender, e, false); }
Il mio obiettivo era non intaccare il modello...ma alla fine si è rilevata la strada più semplice.codice:<DataGridTemplateColumn> <DataGridTemplateColumn.Header> <CheckBox Name="chkbxSelectAll" Checked="chkbxSelectAll_Checked" Unchecked="chkbxSelectAll_Unchecked" /> </DataGridTemplateColumn.Header> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <CheckBox x:Name="CheckBox" IsChecked="{Binding IsChecked}" PreviewMouseLeftButtonDown="CheckBox_PreviewMouseLeftButtonDown" /> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn>



Rispondi quotando
