wpf - 如何从其用户控件内部关闭 WPF 中的弹出窗口
问题描述
我已经实现了一个带有类似于此处描述的弹出窗口的切换按钮。我的弹出窗口显示了一个用户控件,它基本上是一个自定义菜单,上面有几个图像/按钮。这是我的切换按钮的代码:
<ToggleButton x:Name="btnMenu" Background="Transparent" HorizontalAlignment="Right">
<StackPanel>
<Image Width="60" Height="60" Margin="10,0,10,0" Source="{StaticResource icon-menu}"/>
<Popup StaysOpen="False" IsOpen="{Binding IsChecked, ElementName=btnMenu}" Placement="Bottom">
<controls:Menu/>
</Popup>
</StackPanel>
</ToggleButton>
一切正常,除了当我单击用户控件中的按钮(绑定到命令)时,我希望弹出窗口消失。有没有办法通过 xaml 在按下用户控件上的按钮时关闭父弹出窗口?
我确实设法在codeproject上找到了最有可能解决问题的解决方案,并且我还在 StackOverflow 上找到了各种解决方案,其中所有 xaml 都在弹出窗口中,而不是单独的用户控件。我想看看是否有另一种首选方法(希望基于 xaml)可以解决这个特定问题,并且仍然让我将菜单保存在单独的用户控件中。
解决方案
推荐阅读
- php - 显示来自 Woocommerce 购物车项目中自定义字段的自定义延期交货文本
- javascript - 带有共享案例的 Javascript switch 语句
- sas - SAS图形/地图图例格式
- javascript - 按键分组对象数组并将分组结果与日期数组进行比较
- javascript - 带有布尔值的 Object.assign
- javascript - 如何在 w3 代码中添加 2 个以上的幻灯片?
- ios - 如何在 tableview 方法之外获取 tableview [section]?
- linux - 当目录名称包含空格且目录具有特定文件扩展名时,如何遍历目录并将它们移动到另一个位置
- windows - 对文件夹中的图片进行排序
- jhipster - 如何为基于令牌的身份验证禁用 csrf 并为浏览器启用它?