0

我的 WPF 应用程序中有 2 个选项卡控件 (UserControl)。由于这两个选项卡控件都是基于后端数据动态创建的,因此我有两个相同类类型但对象不同的选项卡控件(通过检查两者的内存地址来确认,它们是不同的)

我有这种奇怪的情况,当我在相同类型的选项卡(UserControl)之间切换时,Unload 事件没有被触发。但是,当我从/切换到不同类型的选项卡时,会调用 Unload 事件。

我想处理除 Unload 事件之外的其他事件吗?

请帮我解决这个问题..我被卡住了:(

4

2 回答 2

1

在花了更多时间和调查之后,我可以解决我的问题。

出现此问题是因为 WPF 只是在每次我在相同类型的 Tab 控件之间切换时更改我的 UserControl 的 DataContext,并且由于 UsrControl 是相同类型,即使不同的对象,Unload 事件也没有被触发。

这个问题的解决方法是不处理Unload事件,而是处理UserControl的DataContextChanged事件。

谢谢大家的回答!!

干杯,纳扬

于 2013-08-09T05:09:32.557 回答
0

为此,您需要订阅OnSelectionChanged事件,如下所示:

XAML:

<TabControl SelectionChanged="TabControl1_OnSelectionChanged">

代码隐藏:

private void TabControl1_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
{
    //do whatever
}
于 2013-08-08T12:53:53.783 回答