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