Wpf自定义文本框事件处理程序无法正常工作

时间:2013-11-19 15:39:28

标签: wpf

我为所有文本框创建了一个事件处理程序,如下所示:

<Style TargetType="{x:Type TextBox}">
        <EventSetter Event="LostFocus" Handler="TextBox_LostFocus" />
        <EventSetter Event="GotFocus" Handler="TextBox_GotFocus"/>
    </Style>

现在我已经创建了一个扩展文本框的自定义控件。但处理程序不会触发这些自定义文本框。为此自定义文本框创建单独的事件设置器也不起作用

1 个答案:

答案 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>
相关问题