我只想删除Silverlight 5文本框中的默认行为,即ctrl-z和ctrl-y撤消和重做键入。遗憾的是,Silverlight似乎没有提供WPF中的IsUndoEnabled属性。
答案 0 :(得分: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);
}
}