1
我创建了一个WPF窗口。为此我创建了一个包含大小信息的文本框以及一些事件提供程序的样式;然后,我创建了一些分配上述样式的文本框。如何删除通过样式分配的事件处理程序
现在对于一种情况,我需要删除该文本框的事件。但我不能那样做。 即使我做了以下事件不分离。它仍然在那里。 txt9.PreviewLostKeyboardFocus - = txt9_PreviewLostKeyboardFocus;
仅当事件附加到样式本身时才会发生这种情况。 如果它在TextBox控件内,则事件分离正常。
我的代码: XAML:
<Window.Resources>
<ResourceDictionary>
<Style x:Key="txtStyle11" TargetType="TextBox">
<Setter Property="Width" Value="150"/>
<Setter Property="Height" Value="35"/>
<EventSetter Event="PreviewLostKeyboardFocus" Handler="txt9_PreviewLostKeyboardFocus"/>
</Style>
</ResourceDictionary>
</Window.Resources>
<Grid MinWidth="50">
<TextBox Style="{StaticResource txtStyle11}" x:Name="txt9"/>
</Grid>
CS:
public MainWindow()
{
txt9.PreviewLostKeyboardFocus -= txt9_PreviewLostKeyboardFocus;
}
尝试在Window_Loaded事件中移除事件。窗口加载时,样式首先应用于文本框。 –