gpt4 book ai didi

c# - WPF 如何单击 DataGrid 中的行以取消选择项目

转载 作者:行者123 更新时间:2023-12-03 20:30:50 25 4
gpt4 key购买 nike

如果我在行外单击,如何删除对行的选择。如下图红色区域

enter image description here

相关的xaml如下:

<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>

<DataGrid x:Name="ClientsList" Grid.Row="0" Grid.Column="0" CanUserAddRows="False"
SelectionMode="Extended" SelectionUnit="FullRow"
ItemsSource="{Binding ClientItems}" LostFocus="ClientsList_LostFocus" Background="Green">
</DataGrid>

<StackPanel Margin="2" Grid.Row="1" Grid.Column="0" Orientation="Horizontal">
<Button x:Name="AddButton" Margin="2,0,0,0" Content="+" Height="25" Width="40" Click="AddButton_Click"/>
<Button x:Name="DeleteButton" Margin="2,0,0,0" Content="-" Height="25" Width="40" Click="DeleteButton_Click"/>
</StackPanel>
</Grid>

最佳答案

在这种情况下,如果单击空白区域,则 OriginalSource 将变为 ScrollViewer(如果未应用其他样式)。尝试将以下 MouseUp 事件处理程序添加到 DataGrid:

    private void OnDataGridMouseUp(object o, MouseButtonEventArgs e)
{
if (e.OriginalSource is ScrollViewer)
{
((DataGrid) o).UnselectAll();
}
}

关于c# - WPF 如何单击 DataGrid 中的行以取消选择项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26563473/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com