我正在尝试制作一个与组合框类似的自定义弹出窗口。
我使用切换按钮作为标题,使用弹出窗口作为内容。
<ToggleButton IsChecked="{Binding ElementName=Popup, Path=IsOpen, Mode=TwoWay}">
...
</ToggleButton>
<Popup x:Name="Popup" StaysOpen="False">
...
</Popup>
Run Code Online (Sandbox Code Playgroud)
除了一种情况外,这非常有效。当弹出窗口打开并再次单击时ToggleButton,弹出窗口消失,但随后立即重新打开。
看起来当我单击切换按钮时,弹出窗口检测到鼠标单击位于弹出窗口之外,因此它会自行关闭并设置ToggleButton.IsChecked = false. 然后单击设置IsChecked = true,弹出窗口再次打开。
编辑:在这种情况下,我希望弹出窗口像组合框的行为一样关闭。
有办法解决这个问题吗?