我测试过,dockingtabcontrol的内存地址都没有变,怎么能不是原来的呢? 抱歉,有点没有说清楚,这dockingtabcontrol确实没有消失,但是已经隐藏了
而屏幕上显示的已经是其他的DockingTab,我会在帮你看看有没有其他的办法 那还麻烦您尽快看一下,我这边还是比较着急的 本帖最后由 Richard.Ma 于 2020-4-26 10:28 编辑
抱歉还未能找到合适的解决办法,我尝试了给最外层的C1DockControl直接加MouseDoubleClick,这样可以保证在任何情况下都可以触发,但是无法区分是哪一各DockTabControl被点击了。我今天会和研发同事再沟通一下看看有没有其他的办法 如之前所说,拖动C1DockTabControl时,会创建其新实例,并且该实例未将你的处理方法注册到MouseDoubleClick事件。
可以在xaml中使用EventSetter来注册事件处理程序,如下所示:
你可以测试一下
<Window.Resources>
<Style x:Key="DockTabControlDoubleClick" TargetType="c1:C1DockTabControl">
<EventSetter Event="MouseDoubleClick" Handler="dockTabControl1_MouseDoubleClick"></EventSetter>
</Style>
</Window.Resources>
<c1:C1DockTabControl x:Name="dockTabControl1" Style="{StaticResource DockTabControlDoubleClick}">
<c1:C1DockTabItem Header="Tab 1">
<TextBlock FontSize="30" Margin="10" Text="70% Width"></TextBlock>
</c1:C1DockTabItem>
</c1:C1DockTabControl> OK,完美解决了我的问题,并且还对我之前的优化了,不需要添加的时候一个个注册事件了,非常感谢 不客气
页:
1
[2]