gpt4 book ai didi

c# - 在 WPF 的只读文本框中启用复制粘贴功能

转载 作者:太空宇宙 更新时间:2023-11-03 12:38:39 27 4
gpt4 key购买 nike

我有一个 WPF 文本框,我在其中设置了 IsReadonly = True。我想为此文本框启用 Ctrl+C、Ctrl+V 和右键单击复制粘贴功能。 WPF 文本框中是否有任何内置功能?

最佳答案

如果我正确理解你的问题,你只想允许复制/粘贴但不允许其他文本输入。也许您还想启用键盘导航/选择,以便用户可以四处导航并选择一些文本。

要完成此操作,您必须删除 IsReadOnly = True 并设置以下事件处理程序:

<TextBox PreviewKeyDown="TextBox_PreviewKeyDown">

后面的代码是这样的:

private void TextBox_PreviewKeyDown(object sender, KeyEventArgs e)
{
switch (e.Key)
{
// Enable copy/paste and selection of all text.
case Key.C:
case Key.V:
case Key.A:
if ((Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
return;
break;

// Enable keyboard navigation/selection.
case Key.Left:
case Key.Up:
case Key.Right:
case Key.Down:
case Key.PageUp:
case Key.PageDown:
case Key.Home:
case Key.End:
return;
}
e.Handled = true;
}

要在右键单击上下文菜单中禁用剪切条目,您还必须设置自定义上下文菜单:

<TextBox PreviewKeyDown="TextBox_PreviewKeyDown">
<TextBox.ContextMenu>
<ContextMenu>
<MenuItem Command="ApplicationCommands.Copy" />
<MenuItem Command="ApplicationCommands.Paste" />
</ContextMenu>
</TextBox.ContextMenu>

这应该启用 Ctrl+CCtrl+V 和右键单击复制/粘贴功能,但是禁用所有其他输入。

关于c# - 在 WPF 的只读文本框中启用复制粘贴功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39922006/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com