|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
|
[WPF] Colonna: seleziona tutti
Buon dì,
nel mio DataGrid, vorrei inserire una "Seleziona tutto" per ogni riga presente. Nello XAML: Codice:
<DataGridTemplateColumn> <DataGridTemplateColumn.Header> <CheckBox Name="chkbxSelectAll" PreviewMouseLeftButtonDown="chkbxSelectAll_PreviewMouseLeftButtonDown"></CheckBox> </DataGridTemplateColumn.Header> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <CheckBox x:Name="CheckBox" PreviewMouseLeftButtonDown="CheckBox_PreviewMouseLeftButtonDown" /> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> Codice:
private void CheckBox_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
var chk = (CheckBox)sender;
var row = VisualTreeHelpers.FindAncestor<DataGridRow>(chk);
var newValue = !chk.IsChecked.GetValueOrDefault();
row.IsSelected = newValue;
chk.IsChecked = newValue;
e.Handled = true;
}
Idee o suggerimenti per il "Seleziona tutto"? Grazie! |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
|
Risolto,
ho aggiunto una property al mio modello: Codice:
[DisplayName("IsChecked")]
public bool IsChecked { get; set; }
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);
}
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>
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:11.



















