使用DockState和AutoHide,我正在寻找以下内容:
回答Wiki:
IsAutoHide - get:
private WeifenLuo.WinFormsUI.Docking.DockState[] AutoHideStates = new WeifenLuo.WinFormsUI.Docking.DockState[] {
WeifenLuo.WinFormsUI.Docking.DockState.DockBottomAutoHide,
WeifenLuo.WinFormsUI.Docking.DockState.DockLeftAutoHide,
WeifenLuo.WinFormsUI.Docking.DockState.DockRightAutoHide,
WeifenLuo.WinFormsUI.Docking.DockState.DockTopAutoHide };
public bool IsAutoHide { get { return AutoHideStates.Contains(DockContent.DockState); } }
IsAutoHide - 设置: 还没有代码 - 基本上遍历模式或使用可互换模式的字典(即DockBottomAutoHide到DockBottom)
我不知道,但this看起来很有趣,可能有这个想法。
答案 0 :(得分:2)
1是实现这一目标的好方法。该库有一个内部方法,DockHelper.IsDockStateAutoHide()
基本上做同样的事情。实际上,这应该是一个公共扩展方法,并作为库的一部分包含在内。
2你的解决方案很好。
3& 4可能最好在DockPanel
:ActiveAutoHideContentChanged
中作为新事件实施。然后,您可以自己跟踪上一个自动隐藏内容,当事件发生时,您知道如果新值不为空,则发生#3,如果最后一个已知值不为空,则发生#4。
随意在GitHub上打开请求以添加活动。