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

发布于 2024-11-05 19:37:03 字数 180 浏览 5 评论 0原文

我有一个包含几列的 WPF DataGrid。现在我尝试将快捷键“Shift+$”添加到 DataGrid 列之一。我想要实现的是,当用户在特定列上时,然后按“Shift + $”,它会触发命令。如果用户在其他列上,“Shift + $”可以作为正常输入。

谁能告诉我如何实现这一目标?

谢谢静

I have a WPF DataGrid with few columns. Now i try to add the short cut key "Shift+$" into one of the DataGrid column. What I want to achieve is that when user on the partipular column, then press "Shift + $", it fire command. If user on other columns, "Shift + $" works as normal input.

Can anyone give me some idea how I can achieve this?

Thanks

Jing

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

傲性难收 2024-11-12 19:37:03

数据网格列的选项有点有限,我尝试这样做:

<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。我想你的计划可能无论如何也无法实现......

The options are a bit limited with datagrid columns, i tried doing it this way:

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

Unfortunately this throws an exception telling you that Shift+D4 is not supported by KeyGesture. I think your plan might not work out anyway...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文