Я использую AppBarButton и на основе одного условия хочу выполнить либо прямую команду на щелчке или отображать всплывающее окно AppBarButton для дополнительного ввода, но проблема заключается в том, что если всплывающее окно находится на кнопке панели приложения, оно всегда будет открыто, когда кнопка щелчки.Предотвращение открытия всплывающих окон динамически
Есть ли способ, который я могу решить, где разрешить всплывающее окно или нет.
<AppBarButton x:Uid="Accept" Label="Accept"
ToolTipService.ToolTip="{Binding Label, RelativeSource={RelativeSource Mode=Self}}"
Icon="Accept"
Command="{Binding AcceptAppBarCommand}"
behaviors:AppBarButtonBehavior.AllowFocusOnInteraction="True">
<AppBarButton.Flyout>
<Flyout Placement="Bottom" >
<StackPanel Width="200">
<PasswordBox Header="Enter password:"
Password="{Binding Path=Password, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
<Button Margin="0 5 0 0" Content="Accept"
Command="{Binding AcceptCommand}">
</Button>
</StackPanel>
</Flyout>
</AppBarButton.Flyout>
</AppBarButton>
Этот Ans будет работать, но его решение проблемы через код позади, а не через шаблон MVVM. –
@RahulSonone Даже MVVM нуждается в некотором коде. Взглянув на ваш ответ, вы уверены, что это связано с изменением стиля, я полагаю, что он умирает, когда скрывает содержимое всплывающего окна (Border) - тогда его просто не показывают. Я отредактировал ответ и добавил некоторые ссылки, которые могут оказаться полезными в случае MVVM. – Romasz
https://marcominerva.wordpress.com/2015/01/15/how-to-open-and-close-flyouts-in-universal-apps-using-mvvm/ - хороший, я могу использовать его, но для стиль времени отлично работает для меня. –