как можно предотвратить закрытие всплывающего окна при щелчке мышью вне popop

#c# #wpf

#c# #wpf

Вопрос:

В 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>
  

Комментарии:

1. Пожалуйста, отправьте всплывающий код ur

2. Сделайте его выделенным модальным окном, а не всплывающим, если вы хотите принудительно закрыть его (например, нажать кнопку).

3. <Имя кнопки переключения =»TglBtn» Content=»Document» /> <Всплывающее окно открыто =»{Привязка проверена, ИмяэлемЕнта = TglBtn}» Остается открытым =»False» PlacementTarget=»{ИмяэлемЕнта привязки= popupDocshow}» x:Name=»pop1″ >»Синий» /> </ Popup>

Ответ №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;       
}
  

это всплывающее окно, которое я проверил