3
因此,我在单个wpf窗口中有多个DataGrid,并在代码隐藏中将每个DataGrid的SelectedIndex属性设置为-1。如何在app.xaml中将datagrid SelectedIndex设置为-1
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;
}
我在我的App.xaml风格,所有的DataGrid中使用:
<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>
我能够SelectedIndex属性值设置为任意数量大于或等于零。 当我将属性值设置为-1时,Datagrid的第一行被选中。 所以我的问题是,是否有可能在AdminGridStyle中将SelectedIndex属性设置为-1,如果是这样,怎么办?
你为什么不*不*设置SelectedIndex属性可言,如果你不希望任何项目被选中? – mm8
@ mm8如果我从代码隐藏和App.xaml中删除SelectedIndex并运行该程序,则每个数据网格的第一行仍处于选中状态 – Tyron
如果删除IsSynchronizedWithCurrentItem设置器,该怎么办? – mm8