Ответ 1
Попробуйте указать <DataGrid SelectionMode="Single"
и необязательно SelectionUnit="FullRow"
Доступными параметрами SelectionMode являются
- Single
- Расширенные
а для SelectionUnit -
- Cell
- FullRow
- CellOrRowHeader
У меня есть следующая разметка XAML в DataGrid WPF:
<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>
Можно ли запретить пользователям выбирать несколько строк, удерживая клавишу Ctrl или выбрав несколько строк с помощью мыши?
Я пробовал следующий код в событии SelectionChanged, но он не работает:
private void gvResults_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (gvResults.SelectedItems.Count > 1)
{
e.Handled = true;
}
}
Попробуйте указать <DataGrid SelectionMode="Single"
и необязательно SelectionUnit="FullRow"
Доступными параметрами SelectionMode являются
а для SelectionUnit -