如何阻止在 windows 商店应用程序中将文本粘贴到文本框中?

How can I block Pasting a Text into TextBox in windows store app?

我们需要在 XAML 页面的 TextBox 中禁用粘贴选项。因为我们正在为此处理问题和答案类型,所以我们需要禁用粘贴选项。

我建议不要禁用 copy/paste。在文本字段中禁用这些选项只会让用户感到厌烦。

但是,如果您要防止 Ctrl+C / Ctrl+V 组合,您可以使用

  1. KeyDown 事件 - 如果您获得该组合,例如,您可以使用静态方法清除剪贴板 Windows.ApplicationModel.DataTransfer.Clipboard.Clear();
  2. 未测试: ShortcutsEnabled property or Paste 方法,如果它们可用于您的项目类型中的文本框,可能就足够了。

编辑:确保您也禁用了对文本框的右键单击。

我处理了文本框的以下事件,解决了我的问题。

private void TextBox_ContextMenuOpening(object sender, ContextMenuEventArgs e)
    {
        try
        {
            e.Handled = true;
        }
        catch (Exception ex)
        {
        }
    }

private void TextBox_KeyDown(object sender, KeyRoutedEventArgs e)
    {
        var ctrl = Window.Current.CoreWindow.GetKeyState(VirtualKey.Control).HasFlag(CoreVirtualKeyStates.Down);
            if (ctrl) Clipboard.Clear();
    }