2

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

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

这个问题: WPF DataGrid full row selection is similar but I cannot add a dummy column or set my column widths to *.

4

1 回答 1

3
<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();
}

应该管用。

于 2012-07-23T22:24:55.990 回答