我只是想删除 Silverlight 5 文本框中的默认行为,即 ctrl-z 和 ctrl-y 撤消和重做键入。遗憾的是,Silverlight 似乎没有提供 WPF 中的 IsUndoEnabled 属性。
问问题
173 次
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 回答