J'ai donc plusieurs DataGrids dans une seule fenêtre wpf et dans le codebehind j'ai défini la propriété SelectedIndex de chaque DataGrid à -1.Comment définir DataGrid SelectedIndex à -1 dans app.xaml
private void Window_Loaded(object sender, RoutedEventArgs e)
{
dgPackaging.ItemsSource = vm.getPackaging();
dgUsers.ItemsSource = vm.getUsers();
dgFarmers.ItemsSource = vm.getAllFarmers();
dgProducts.ItemsSource = vm.getAllProducts();
dgPurchaseOrder.ItemsSource = vm.getAllPurchasOrders();
dgPODescription.ItemsSource = vm.PurchaseOrderDetails;
dgCustomers.ItemsSource = vm.getAllCustomers();
dgFarmers.SelectedIndex = -1;
dgUsers.SelectedIndex = -1;
dgPackaging.SelectedIndex = -1;
dgProducts.SelectedIndex = -1;
dgPurchaseOrder.SelectedIndex = -1;
dgCustomers.SelectedIndex = -1;
}
J'ai un style dans mon app.xaml que tous les datagrids utilisent:
<Style x:Key="AdminGridStyle" TargetType="DataGrid" BasedOn="{StaticResource dataGridStyle}">
<Setter Property="Margin" Value="3"/>
<Setter Property="RowHeight" Value="40"/>
<Setter Property="IsSynchronizedWithCurrentItem" Value="true"/>
<Setter Property="Grid.ColumnSpan" Value="2"/>
<Setter Property="Grid.RowSpan" Value="8"/>
<Setter Property="SelectedIndex" Value="-1"/>
</Style>
Je suis en mesure de définir la valeur de la propriété SelectedIndex à un nombre supérieur ou égal à zéro. Lorsque je définis la valeur de la propriété sur -1, la première ligne des Datagrids est sélectionnée. Donc ma question est, est-il possible de définir la propriété SelectedIndex à -1 dans le AdminGridStyle, et si oui, comment?
Pourquoi ne pas * ne pas * définir la propriété SelectedIndex du tout si vous ne voulez pas un élément pour être sélectionné? – mm8
@ mm8 Si je supprime l'SelectedIndex du codebehind et de l'App.xaml et exécute le programme, la première ligne de chaque DataGrid est toujours sélectionnée – Tyron
Que faire si vous supprimez le setter IsSynchronizedWithCurrentItem? – mm8