当一个DockPanel面板出现超过3个DockContent的时候,窗口的布局管理变得很不可预测。
public void Show(DockPanel dockPanel, DockState dockState),调用这个函数的效果是,调用的窗口是位于所有的pane的后面的,因为dockpanel是一个pane的合集。
public void Show(DockPane previousPane, DockAlignment alignment, double proportion),调用这个函数的效果是,调用的窗口是位于指定的pane的后面的。
但是,有多个DockContent的时候,变动DockContent的位置是根据上一个窗口而变动的,所以上一个窗口影响下一个窗口的位置。
当DockContent的位置变化了的时候,大部分情况都是伴随着窗口的大小的变化的,所以这个时候,当出现了不可控的位置变化的时候,通过窗口的大小,width以及height相对于上一个窗口的大小进行比较,如果跟上一个窗口的长或者宽不一致的时候,就可以使用public void Show(DockPane previousPane, DockAlignment alignment, double proportion),重置一下窗口顺序以及位置,就能保证窗口都在预期以内了。