【问题标题】:How can I block Pasting a Text into TextBox in windows store app?如何阻止将文本粘贴到 Windows 商店应用程序中的 TextBox 中?
【发布时间】:2016-08-01 04:50:12
【问题描述】:

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

【问题讨论】:

  • 我一直觉得禁用粘贴很烦人。我喜欢在适当的文本编辑器中输入较长的答案,然后将它们粘贴到文本字段中。

标签: windows windows-8.1 windows-8.1-universal


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    我建议不要禁用复制/粘贴。在文本字段中禁用这些选项只会让用户烦恼。

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-03
      • 1970-01-01
      • 1970-01-01
      • 2014-10-12
      相关资源
      最近更新 更多