首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UWP SplitView DisplayMode覆盖-不对焦

UWP SplitView DisplayMode覆盖-不对焦
EN

Stack Overflow用户
提问于 2017-01-22 01:34:46
回答 1查看 603关注 0票数 0

我有一个SplitView

代码语言:javascript
复制
<SplitView Name="splitView" 
   DisplayMode="{Binding SplitViewDisplayMode}" 
   IsPaneOpen="{Binding SplitViewIsPaneOpen}" 
   OpenPaneLength="200" CompactPaneLength="51"/>

我还使用VisualStateManager根据应用程序窗口大小调整SplitView:(示例)

代码语言:javascript
复制
<VisualState.StateTriggers>
   <AdaptiveTrigger MinWindowWidth="500"></AdaptiveTrigger>
</VisualState.StateTriggers>

到目前为止,一切都正常工作,但是当上面的触发器和下面的状态被激活时,我遇到了一个意外的结果。

代码语言:javascript
复制
<VisualState.Setters>
   <Setter Value="True" Target="splitView.IsPaneOpen"></Setter>
   <Setter Value="Overlay" Target="splitView.DisplayMode"></Setter>
</VisualState.Setters>

我似乎无法找到一种方法来检测该事件,以便我的ViewModel知道何时丢失了SplitView窗格焦点。现在,正如设计的覆盖显示一样,直到用户单击视图(按照设计的那样),但我想知道,何时折叠SplitView覆盖,以便我可以向HamburgerMenu中添加附加的绑定事件。

据我所知,VisualStateManager似乎不更新/更改绑定

代码语言:javascript
复制
DisplayMode="{Binding SplitViewDisplayMode}"

对于如何发现覆盖是否消失/关闭,有什么想法吗?

我唯一能想到的就是创建发现窗口大小的方法,然后确定SplitView是否应该是SplitView。这是可行的,但会导致许多潜在的组合。

关于如何检测或让SplitView告诉我当用户单击SplitView外部的控件时Overlay是否为Collapsed的想法或想法

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-22 08:59:31

要使绑定工作,您必须将它们指定为双向绑定。否则,他们只会用代码中的更改来更新UI,而不是反过来:

代码语言:javascript
复制
<SplitView Name="splitView" 
       DisplayMode="{Binding SplitViewDisplayMode, Mode=TwoWay}" 
       IsPaneOpen="{Binding SplitViewIsPaneOpen, Mode=TwoWay}" 
       OpenPaneLength="200" CompactPaneLength="51"/>

现在,当状态发生变化时,应该正确更新属性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41786442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档