My code:
IsPinned="False" Margin="5,0,5,5" AllowFloatingOnly ="False">
When click PaneTabItem, Contentpane will flyout, and XamDockManager.GetPaneLocation(paneItem) is PaneLocation.Unpinned. When I flyin Contentpane, XamDockManager.GetPaneLocation(paneItem) is still PaneLocation.Unpinned.
I want to know which property is used to distinguish flyout and flyin status.
My task is left click PaneTabItem, flyout the pane, left click agian, flyin the pane.
EventManager.RegisterClassHandler( typeof(PaneTabItem), Control.MouseLeftButtonDownEvent, new MouseButtonEventHandler(OnPaneTabItemMouseLeftButtonDown));
private void OnPaneTabItemMouseLeftButtonDown(object sender, MouseButtonEventArgs e) { PaneTabItem paneItem = sender as PaneTabItem; ContentPane pane = paneItem.Pane;
if (pane != null) { if (pane.IsPinned == false) { //I can not distinguish flyout and flyin status, if in flyout status, just fly in if (XamDockManager.GetPaneLocation(paneItem) == PaneLocation.Unpinned) { pane.ExecuteCommand(ContentPaneCommands.FlyIn); }
//if in flyin status, just flyout else { pane.ExecuteCommand(ContentPaneCommands.Flyout); } } } }
But it does not work, because I can not distinguish flyout and flyin status.
Hello Brandon,
Thank you for posting!
The default behavior of the XamDockManager will cause the pane to flyout on hover or when active when UnpinnedTabHoverAction is set to “Flyout”. Currently there is not an exposed property for the content pane that returns its flyin/flyout status. I have put together a small sample application that could be helpful if you would like to change that status on mouse event. It illustrates how the ContentPaneCommands.Flyout and ContentPaneCommands.FlyIn commands could be executed in the PreviewMouseDown event handler. Please note that in this scenario the XamDockManager UnpinnedTabHoverAction property is "None" so the panes do not flyout on mouse hover.
Please feel free to let me know if you have any questions.
Hello,
But in my application UnpinnedTabHoverAction property is set to Flyout, and if click other pane control, the flyout pane will flyin.
So shouldFlyout is not a right flag to flyout or flyin the pane.