我有一个很奇怪的问题。根据我的要求,我需要在botton click(命令)上打开顶部的应用栏,该按钮位于屏幕的右上角,因此当应用栏打开时,它将覆盖按钮区域。我正在使用MVVM设计方法,并且已将“IsOpen”属性绑定(bind)到我的 View 模型。

<AppBar x:Uid="NavigationBar"  IsOpen="{Binding IsNavBarVisible, Mode=TwoWay}">
       <controls:TopAppNavBarUserControl />
    </AppBar>

当我点击按钮时,IsNavBarVisible属性设置为true并打开我的应用栏。当我点击屏幕上的任何其他部分以关闭应用栏时,会发生问题。应用栏关闭,但我的属性未设置为“false” ,因此,下次我单击按钮时,由于绑定(bind)属性已经为“true”,因此它不会打开应用程序栏。
我在这里使用了“双向”绑定(bind),但由于某些未知原因,它无法缝制
解决方案云将实现应用程序栏的“Closed”事件,但是我不想转到后面的代码。欢迎提出建议。

最佳答案

根据MSDN:



因此,您必须解决此问题。首先想到的确实是事件。或者,您可以创建派生的AppBar并自己为PropertyChanged实现IsOpen

关于c# - WinRt : twoway binding for Appbar does not work,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20219485/

10-11 22:26