而不是在我的应用程序中附加PreviewKeyUp事件与每个TextBox事件,并检查按下的键是否为回车键,然后执行操作,我决定实现TextBox的扩展版本,该版本包含在TextBox中按Enter键时触发的DefaultAction事件。WPF:按下回车键时触发事件的文本框
我所做的是基本上创建一个新的类,从TextBox延伸与公共事件DefaultAction,像这样的:
public class DefaultTextBoxControl:TextBox
{
public event EventHandler DefaultAction = delegate { };
public DefaultTextBoxControl()
{
PreviewKeyUp += DefaultTextBoxControl_PreviewKeyUp;
}
void DefaultTextBoxControl_PreviewKeyUp(object sender, System.Windows.Input.KeyEventArgs e)
{
if (e.Key != Key.Enter)
{
return;
}
DefaultAction(this, EventArgs.Empty);
}
}
然后我用这个自定义文本框,从我的应用程序像这样(XAML):
现在在我的一点经验我已经在学习WPF,我发现几乎大部分时间有一个“冷”(希望更容易)WA y执行的东西
...所以我的问题是,如何改善上述控制?或者也许有另一种方法可以做到上述控制? ...也许只使用声明性代码而不是声明式(xaml)和过程式(C#)?



