2013-11-26 3 views
1

У меня очень странная проблема. В соответствии с моим требованием, мне нужно открыть верхнюю панель приложения с помощью щелчка мыши (команда), кнопка находится в правом верхнем углу экрана, поэтому, когда панель приложения откроется, она будет закрывать область кнопки. Я использую методологию MVVM, и я привязал свойство IsOpen к моей модели viewmodel.WinRt: привязка twoway для Appbar не работает

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

когда я нажмите на кнопку, то IsNavBarVisible свойство устанавливается истина, и моя проблема AppBar opens.Them происходит, когда я нажимаю на любой другой части экрана, чтобы закрыть AppBar, AppBar закрывается, но моя собственность не устанавливается в «false», поэтому в следующий раз, когда я нажимаю кнопку, она не открывает панель приложения, поскольку свойство привязки уже «истинно». Я использовал привязку «twoway» здесь, но по какой-то неизвестной причине он не работает для работы Облако решений реализует событие «Закрыто» панели приложений, но я не хочу переходить ко мне. Предложения приветствуются.

ответ

2

По MSDN:

Примечание: Привязка к IsOpen собственности не имеют ожидаемых результатов, поскольку уведомление PropertyChanged не возникает, если свойство установлено.

Так что вам нужно решить эту проблему. Первое, что приходит в голову, действительно было бы событием. Или вы можете создать производный AppBar и реализовать PropertyChanged для IsOpen самостоятельно.