【问题标题】:Handling Popup with Togglebutton使用 Togglebutton 处理弹出窗口
【发布时间】:2013-05-04 17:21:11
【问题描述】:

我在 Xaml 中有一个切换按钮和一个弹出窗口。 popup 的 IsOpen 绑定到切换按钮的 IsChecked 并且 Popup 的 StaysOpen 设置为 false。因此,如果未选中,弹出窗口将在切换按钮和关闭时打开。这很好用。

我的问题是我打开了弹出窗口并单击远离弹出窗口,这关闭了我的弹出窗口,因为它保持打开状态为假,如果我尝试通过单击切换按钮打开弹出窗口,弹出窗口不会打开。由于它处于选中状态,因此变为未选中状态。所以它没有打开弹出窗口。

任何想法,我该如何处理?

【问题讨论】:

  • 我会尝试使其成为双向绑定,这样当弹出窗口关闭时,切换按钮就会被取消选中
  • @SebastianEdelmeier:是的,Binding 模式是 TwoWay,但 IsOpen 在关闭时不会改变。

标签: wpf xaml popup wpf-controls


【解决方案1】:

设置 StaysOpen = "True" 甚至更好的 StaysOpen="{Binding ElementName=TogglePopupButton,Path=IsMouseOver}"。

使用第二种方法,您可以获得 2 个好处。 1) 如果用户在 popUpview 之外单击,则 PopUp 关闭。 如果您再次单击 ToggleButton,弹出窗口将关闭。

【讨论】:

    【解决方案2】:

    处理弹出窗口关闭/打开事件并在那里切换复选框状态,反之亦然。我自己在 Popup 上也遇到过类似的问题。

    【讨论】:

      猜你喜欢
      • 2013-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-11
      • 1970-01-01
      • 2015-08-03
      相关资源
      最近更新 更多