WPFテキストボックスの切り取り、コピー、貼り付けを制限するにはどうすればよいですか?
28618 次
2 に答える
50
切り取り、コピー、貼り付けは、どのアプリケーションでも使用される一般的なコマンドです。
<TextBox CommandManager.PreviewExecuted="textBox_PreviewExecuted"
ContextMenu="{x:Null}" />
上記のテキスト ボックス コードでは、CommandManager クラスの PrviewExecuted イベントでこれらのコマンドを制限できます。
コードビハインドでコードの下に追加すると、仕事は完了です
private void textBox_PreviewExecuted(object sender, ExecutedRoutedEventArgs e)
{
if (e.Command == ApplicationCommands.Copy ||
e.Command == ApplicationCommands.Cut ||
e.Command == ApplicationCommands.Paste)
{
e.Handled = true;
}
}
于 2009-06-02T06:47:29.140 に答える
17
commandName=="Paste" 比較が失敗するため、commandName メソッドは日本語 OS のシステムでは機能しません。私は次のアプローチを試しましたが、うまくいきました。また、コンテキスト メニューを手動で無効にする必要もありません。
XaML ファイルで:
<PasswordBox.CommandBindings>
<CommandBinding Command="ApplicationCommands.Paste"
CanExecute="CommandBinding_CanExecutePaste"></CommandBinding>
</PasswordBox.CommandBindings>
コードビハインド:
private void CommandBinding_CanExecutePaste(object sender, CanExecuteRoutedEventArgs e)
{
e.CanExecute = false;
e.Handled = true;
}
于 2010-06-22T16:43:21.167 に答える