簡體   English   中英

如何在app.xaml中將datagrid SelectedIndex設置為-1

[英]How to set datagrid SelectedIndex to -1 in app.xaml

所以我在一個wpf窗口中有多個DataGrids,在代碼隱藏中我將每個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中有一個樣式,所有Datagrids都使用:

<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時,將選擇Datagrids的第一行。 所以我的問題是,是否可以在AdminGridStyle中將SelectedIndex屬性設置為-1,如果是,如何?

如果您不想選擇DataGrid任何項,則根本不需要設置SelectedIndex屬性。

只需從您的Style刪除IsSynchronizedWithCurrentItem setter:

<Style x:Key="AdminGridStyle" TargetType="DataGrid" BasedOn="{StaticResource dataGridStyle}">
    <Setter Property="Margin" Value="3"/>
    <Setter Property="RowHeight" Value="40"/>
    <Setter Property="Grid.ColumnSpan" Value="2"/>
    <Setter Property="Grid.RowSpan" Value="8"/>
    <Setter Property="SelectedIndex" Value="-1"/>
</Style>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM