我有这样的TabView
:
<TabView ItemsSource="{Binding Documents}">
<TabView.ItemTemplate>
<DataTemplate>
<local:MyUserControl />
</DataTemplate>
</TabView.ItemTemplate>
</TabView>
我为MyUserControl.Loaded
事件设置了事件处理程序,只是为了看看会发生什么。令人惊讶的是,该事件仅触发一次,无论哪个选项卡处于活动状态。当您在标签之间切换时,Loaded事件不会触发一次以上[]
因此,我尝试捕获Visibily更改的事件(使用RegisterPropertyChangedCallback
方法)。它从未被解雇!
然后,我想知道MyCustomControl中是否有任何事件每当活动选项卡更改时
,因为没有触发Loaded
和“ VisibilityChanged”事件? [每当TabView活动内容更改时,我都需要通过消息总线发送消息,但是我需要MyUserControl知道更改,因为它是唯一知道在消息内部发送内容的控件。
我有一个这样的TabView:
我需要在被“激活”的孩子(一个其内容在每个选项卡开关上可见)您可以对
Tapped
使用
local:MyUserControl
事件,然后使用DataContext
来读取现在正在点击的项目。轻按将在加载所有事件之前触发。因此,这将有助于您激活“拦截儿童”。