WPF datagrid - 如何在选择子控件时停止选择单元格

时间:2017-02-23 16:34:58

标签: c# wpf datagrid focus

我对WPF很新,所以请善待......

我将一些子控件放入DataGrid单元格中,但是当我选择(单击)其中一个子控件时,包含单元格会显示蓝色选择突出显示。有没有办法改变这个功能,所以它只选择被点击的控件。

我希望我可以通过将选择颜色更改为透明或其他东西来解决这个问题,但是如果用户然后点击ArrowDown键,则选择会更改外观,我希望选择从我认为是的控件移动选择的不是DataGrid认为选中的单元格。

理想情况下,我想管理DataGrid中的所有选择和导航。

enter image description here

在示例中,我将选择包含Neil9232的控件

1 个答案:

答案 0 :(得分:1)

在CellTemplate中,将Focusable设置为false。它将停止抢夺您的点击次数。例如,如果您目前没有设置样式,那么这将是最低限度的:

 <DataGrid>
        <DataGrid.Resources>
            <Style x:Key="NotFocusable" TargetType="{x:Type DataGridCell}">
                <Setter Property="Focusable" Value="False"/>
            </Style>
        </DataGrid.Resources>
        <DataGrid.Columns>
            <DataGridTemplateColumn>
                <DataGridTemplateColumn.CellStyle>
                    <Style TargetType="{x:Type DataGridCell}" BasedOn="{StaticResource NotFocusable}"/>
                </DataGridTemplateColumn.CellStyle>                    
            </DataGridTemplateColumn>
        </DataGrid.Columns>
    </DataGrid>