我的 WPF 应用程序中有 2 个选项卡控件 (UserControl)。由于这两个选项卡控件都是基于后端数据动态创建的,因此我有两个相同类类型但对象不同的选项卡控件(通过检查两者的内存地址来确认,它们是不同的)
我有这种奇怪的情况,当我在相同类型的选项卡(UserControl)之间切换时,Unload 事件没有被触发。但是,当我从/切换到不同类型的选项卡时,会调用 Unload 事件。
我想处理除 Unload 事件之外的其他事件吗?
请帮我解决这个问题..我被卡住了:(
在花了更多时间和调查之后,我可以解决我的问题。
出现此问题是因为 WPF 只是在每次我在相同类型的 Tab 控件之间切换时更改我的 UserControl 的 DataContext,并且由于 UsrControl 是相同类型,即使不同的对象,Unload 事件也没有被触发。
这个问题的解决方法是不处理Unload事件,而是处理UserControl的DataContextChanged事件。
谢谢大家的回答!!
干杯,纳扬
为此,您需要订阅OnSelectionChanged事件,如下所示:
XAML:
<TabControl SelectionChanged="TabControl1_OnSelectionChanged">
代码隐藏:
private void TabControl1_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
{
//do whatever
}