ctrl-z と ctrl-y で入力を元に戻したりやり直したりする、Silverlight 5 テキスト ボックスの既定の動作を削除したいだけです。悲しいことに、Silverlight は、WPF にある IsUndoEnabled プロパティを提供していないようです。
1 に答える
0
独自の TextBox を作成して OnKeyDown メソッドをオーバーライドできます 次のように:
public partial class DefaultTextBox : TextBox {
public DefaultTextBox() {
InitializeComponent();
}
private bool isUndoEnabled = true;
public bool IsUndoEnabled {
get {
return isUndoEnabled;
}
set {
isUndoEnabled = false;
}
}
protected override void OnKeyDown(KeyEventArgs e) {
if (!isUndoEnabled) {
if (Keyboard.Modifiers == ModifierKeys.Control) {
if (e.Key == Key.Z || e.Key == Key.Y) {
e.Handled = true;
}
}
}
base.OnKeyDown(e);
}
}
于 2013-12-26T06:55:15.103 に答える