如何防止弹出窗口在鼠标点击弹出窗口以外的区域时关闭

3

在WPF中,当我们单击切换按钮时,弹出窗口会正确打开,但当我们单击弹出窗口外部时,弹出窗口会自动关闭。如何防止这种情况发生。

当我们在弹出窗口外部单击时,不应该关闭弹出窗口。

代码:

<ToggleButton Name="TglBtn" Content="Document" /> 
<Popup IsOpen="{Binding IsChecked, ElementName=TglBtn}" StaysOpen="False"   PlacementTarget="{Binding ElementName=popupDocshow}" x:Name="pop1"> 
  <TextBlock Text="Documents" Background="Blue"/> 
</Popup>

请发布您的弹出窗口代码。 - Avinash Reddy
如果您想强制关闭一个操作(例如按下按钮),请将其设置为专用模态窗口,而不是弹出窗口。 - Kevin Cook
<ToggleButton Name="TglBtn" Content="Document" /> <Popup IsOpen="{Binding IsChecked, ElementName=TglBtn}" StaysOpen="False" PlacementTarget="{Binding ElementName=popupDocshow}" x:Name="pop1" > <TextBlock Text="Documents" Background="Blue"/> </Popup> - Neeta Paliwal
1个回答

1

PopupTest.StaysOpen = true 这就是你所缺少的。

<Popup x:Name="PopupTest" AllowsTransparency="True">
    <Viewbox VerticalAlignment="Top">
        <TextBlock Text="Wow, that was easy!"/>
    </Viewbox>
</Popup>

private void Button_Click(object sender, RoutedEventArgs e)
{
    PopupTest.Placement = System.Windows.Controls.Primitives.PlacementMode.Mouse;
    PopupTest.StaysOpen = true;
    PopupTest.Height = 1000;
    PopupTest.Width = 500;
    PopupTest.IsOpen = true;       
}

这是我勾选的弹出窗口。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接