如何将添加键绑定添加到DataGrid列级别?

时间:2011-05-08 23:31:41

标签: wpf wpfdatagrid

我有一个包含少量列的WPF DataGrid。现在我尝试将快捷键“Shift + $”添加到DataGrid列之一。我想要实现的是当用户在partipular列上,然后按“Shift + $”,它就会激活命令。如果用户在其他列上,“Shift + $”将作为正常输入。

任何人都可以告诉我如何实现这一目标吗?

由于

1 个答案:

答案 0 :(得分:0)

这些选项对datagrid列有点限制,我尝试这样做:

<DataGridTextColumn Binding="{Binding Name}">
    <DataGridTextColumn.EditingElementStyle>
        <Style>
            <EventSetter Event="FrameworkElement.Loaded" Handler="DG_NameColumn_Loaded"/>
        </Style>
    </DataGridTextColumn.EditingElementStyle>
</DataGridTextColumn>
private void DG_NameColumn_Loaded(object sender, RoutedEventArgs e)
{
    var tb = sender as TextBox;
    tb.InputBindings.Add(new KeyBinding(Commands.DoStuff, new KeyGesture(Key.D4, ModifierKeys.Shift)));
}

不幸的是,这会抛出异常,告诉您KeyGesture不支持Shift + D4。我认为你的计划无论如何都可能无法解决......