WPF/XAML:使用相同事件的多个控件 - 是否有更简单的方法?

Yat*_*rix 5 wpf events xaml controls templates

我有大约10个使用相同事件的文本框 - 然后我只是将发送者转换为文本框并对文本进行任何更改.我很好奇,是否有更简单/更清晰的方法将这些事件分配给代码隐藏方法?现在,我只是通过将每个事件的方法重复分配给每个文本框来实现.

有什么可以用模板或任何东西完成吗?下面是每个TextBox的内容.它只是复制和粘贴,但它是许多额外的代码行,如果有WPF解决方案,我想避免使用它.

...
LostFocus="textBox_LostFocus"
MouseDoubleClick="selectText"
GotKeyboardFocus="selectText"
PreviewMouseLeftButtonDown="selectivelyIgnoreMouseButton" />
Run Code Online (Sandbox Code Playgroud)

提前致谢.

Dyl*_*dor 7

是的,还有更好的方法.为文本框创建样式.

<Style TargetType="{x:Type TextBox}">
    <EventSetter Event="LostFocus" Handler="textBox_LostFocus" />
    <EventSetter Event="MouseDoubleClick" Handler="selectText" />
    <EventSetter Event="GotKeyboardFocus" Handler="selectText" />
    <EventSetter Event="PreviewMouseLeftButtonDown" Handler="selectivelyIgnoreMouseButton" />
</Style>
Run Code Online (Sandbox Code Playgroud)

这是一篇简单的博客文章,详细介绍了它.

  • 就是棒.我使用WPF越多,我就越喜欢它.谢谢大家. (2认同)