我为所有文本框创建了一个事件处理程序,如下所示:
<Style TargetType="{x:Type TextBox}">
<EventSetter Event="LostFocus" Handler="TextBox_LostFocus" />
<EventSetter Event="GotFocus" Handler="TextBox_GotFocus"/>
</Style>
现在我已经创建了一个扩展文本框的自定义控件。但处理程序不会触发这些自定义文本框。为此自定义文本框创建单独的事件设置器也不起作用
答案 0 :(得分:0)
如果使用的Style
没有x:Key
属性,它将严格适用于TextBox
个元素。您必须将CustomTextBox
设置为TargetType
,或者您可以使用BasedOn
属性,如下所示:
<Style TargetType="{x:Type TextBox}">
<EventSetter Event="LostFocus" Handler="TextBox_LostFocus" />
<EventSetter Event="GotFocus" Handler="TextBox_GotFocus"/>
</Style>
<Style TargetType="{x:Type my:CustomTextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
</Style>