} // ctor public PpsWindowPaneHost(PpsWindowPaneHostState paneState) { this.paneState = paneState; SetValue(paneProgressPropertyKey, new PpsProgressStack(Dispatcher)); SetValue(isFixedPropertyKey, paneState == PpsWindowPaneHostState.Fixed); } // ctor
} // proc Move private int GetPaneDefaultPosition(PpsWindowPaneHostState paneState, PpsWindowPaneHost relatedPane) { if (paneState == PpsWindowPaneHostState.Fixed || // fixed pane paneState == PpsWindowPaneHostState.Root) // root pane { for (var i = 0; i < panes.Count; i++) { if (panes[i].State != PpsWindowPaneHostState.Fixed) { return(i); } } return(panes.Count); } else { // find related pane index var idx = panes.IndexOf(relatedPane); if (idx == -1) { return(panes.Count); } else if (panes[idx].State != PpsWindowPaneHostState.Fixed) { return(idx); } else { return(GetPaneDefaultPosition(PpsWindowPaneHostState.Root, null)); } } } // func GetPaneDefaultPosition