由Style Eventsetter设置的事件处理程序如何删除?

时间:2019-07-04 01:50:35

标签: c# wpf

我的wpf窗口中有一个TextBox。当我使用此代码时:

<TextBox TextChanged="Text_Changed" Loaded="Text_Loaded"/>

添加和删除TextChanged事件处理程序工作正常:

private void Text_Loaded(object sender, RoutedEventArgs e)
{
   ((TextBox)sender).TextChanged -= Text_Changed;
   //some code
   ((TextBox)sender).TextChanged += Text_Changed;
}

但是,当我使用静态资源样式事件指示符时,像这样:

<Window.Resources>
    <Style x:Key="tbxstyle" TargetType="TextBox">
        <EventSetter Event="Loaded" Handler="Text_Loaded"/>
        <EventSetter Event="TextChanged" Handler="Text_Changed"/>
    </Style>
</Window.Resources>

<TextBox Style="{StaticResource tbxstyle}"/>

在这种情况下,添加和删除TextChanged事件处理程序不起作用! 有什么问题吗?

0 个答案:

没有答案