2012-02-22 35 views
15

Tôi có đánh dấu XAML sau đây trong một DataGrid WPF:Ngăn việc lựa chọn hàng nhiều trong WPF DataGrid

<DataGrid ItemsSource="{Binding ResultList}" Grid.ColumnSpan="4" Grid.Row="7" Height="150" 
      HorizontalAlignment="Left" Margin="10,0,0,0" Name="gvResults" 
      VerticalAlignment="Bottom" Width="590" AutoGenerateColumns="False" SelectionChanged="gvResults_SelectionChanged" 
      SelectionUnit="FullRow"> 
    <DataGrid.Columns> 
     <DataGridTextColumn IsReadOnly="True" Binding="{Binding Name}" Header="Name" ScrollViewer.VerticalScrollBarVisibility="Auto" Width="190" /> 
     <DataGridTextColumn IsReadOnly="True" Binding="{Binding Surname}" Header="Surname" Width="190" /> 
     <DataGridTextColumn IsReadOnly="True" Binding="{Binding Age}" Header="Age" Width="*" /> 
    </DataGrid.Columns> 
</DataGrid> 

Có thể ngăn chặn người dùng lựa chọn nhiều hàng trong khi giữ Ctrl chìa khóa hoặc chọn nhiều hàng với một con chuột?

Tôi đã thử đoạn mã sau trong trường hợp SelectionChanged nhưng nó không hoạt động:

private void gvResults_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 
    if (gvResults.SelectedItems.Count > 1) 
    { 
     e.Handled = true; 
    } 
} 

Trả lời

47

Cố gắng xác định <DataGrid SelectionMode="Single" và tùy chọn SelectionUnit="FullRow"

Các tùy chọn có sẵn cho SelectionMode là

  • Độc thân
  • Mở rộng

và cho SelectionUnit là

  • di
  • FullRow
  • CellOrRowHeader
Các vấn đề liên quan