我有一个SplitView
:
<SplitView Name="splitView"
DisplayMode="{Binding SplitViewDisplayMode}"
IsPaneOpen="{Binding SplitViewIsPaneOpen}"
OpenPaneLength="200" CompactPaneLength="51"/>
我也VisualStateManager
用来调整SplitView
基于应用程序窗口大小:(示例)
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="500"></AdaptiveTrigger>
</VisualState.StateTriggers>
到目前为止,一切正常,但是当上面的触发器和下面的状态被激活时,我遇到了意外的结果。
<VisualState.Setters>
<Setter Value="True" Target="splitView.IsPaneOpen"></Setter>
<Setter Value="Overlay" Target="splitView.DisplayMode"></Setter>
</VisualState.Setters>
我似乎无法找到检测事件的方法,以便我ViewModel
知道SplitView
窗格焦点何时丢失。现在按设计的覆盖显示,直到用户单击视图(按设计),但我想知道,什么时候SplitView
覆盖折叠,以便我可以将其他绑定事件添加到我的HamburgerMenu
.
从我所经历的情况来看,它似乎VisualStateManager
不会更新/更改我的绑定
DisplayMode="{Binding SplitViewDisplayMode}"
关于我如何发现叠加层是否/何时消失/关闭的任何想法?
我唯一能想到的就是创建发现Window大小的方法,然后确定SplitView是否应该是Inline
/ Compact
/ Overlay
..这是可行的,但会导致很多潜在的组合。
关于如何检测或SplitView
告诉我是否Overlay
是Collapsed
用户单击外部控件的任何想法或想法SplitView
?