wpf - DataGrid 最后一列后的尾随空格

标签 wpf datagrid

在 wpf 数据网格中,如果数据网格比列宽之和宽,则会得到尾随空格。默认情况下,单击该区域不会选择该行,选择行突出显示也不会覆盖该区域。

如何将来自该区域的点击注册为选择适当的行,并允许选择行突出显示延伸到该区域。

这个问题: WPF DataGrid full row selection 类似,但我无法添加虚拟列,也无法将列宽设置为 *。

最佳答案

<DataGrid Name="dg">
    <DataGrid.RowStyle>
        <Style TargetType="{x:Type DataGridRow}">
            <EventSetter Event="MouseLeftButtonDown" Handler="DataGridRow_MouseLeftButtonDown" />
            <Style.Triggers>
                <Trigger Property="IsSelected" Value="True">
                    <Setter Property="Background" Value="{StaticResource {x:Static SystemColors.HighlightBrushKey}}" />
                </Trigger>
            </Style.Triggers>
        </Style>
    </DataGrid.RowStyle>
</DataGrid>

后面有这段代码

private void DataGridRow_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
    dg.SelectedIndex = (sender as DataGridRow).GetIndex();
}

应该可以。

关于wpf - DataGrid 最后一列后的尾随空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11617970/

相关文章:

c# - 如何在 ViewModel 更改后正确更新模型?

javascript - 如何在充满远程数据的 Kendo UI 网格上强制刷新?

datagrid - TypeError : apiRef. current.updateRows 不是 Material ui 数据网格中的函数

c# - 如何从 mySql 填充 DataGrid

c# - 在 WPF Datagrid 上按 enter 时 DataGridCellsPanel.BringIndexIntoView 中出现 ArgumentOutOfRangeException?

.net - 如何创建动画后启动的 EventSetter

.net - Silverlight 浏览器应用程序到桌面应用程序

c# - WPF 动画未触发

c# - WPF(MVVM): where to put existing “assembly” / “application logic” - in a model or viewmodel [closed]

wpf - 如何在 wpf 中锚定文本框?