使用 DockState 和 AutoHide,我正在寻找以下内容:
回答维基:
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); } }
还没有代码 - 基本上遍历模式或使用可互换模式的字典(即 DockBottomAutoHide 到 DockBottom)
最佳答案
1 是实现此目的的体面方法。该库有一个内部方法 DockHelper.IsDockStateAutoHide()
,它的作用基本相同。这实际上应该成为公共(public)扩展方法并作为库的一部分包含在内。
2 你的解决方案很好。
3 和 4 可能最好作为 DockPanel
中的新事件实现: ActiveAutoHideContentChanged
。然后,您可以自己跟踪最后一个自动隐藏内容,当事件发生时,您知道如果新值不为空,则发生 #3,如果最后一个已知值不为空,则发生 #4。
随意在 GitHub 上打开一个请求以添加事件。
关于c# - DockPanelSuite 的 DockState 和 AutoHide,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13848416/