WPF игнорирует клики за пределами всплывающего окнаC#

Место общения программистов C#
Ответить
Anonymous
 WPF игнорирует клики за пределами всплывающего окна

Сообщение Anonymous »

В моем приложении WPF я хочу, чтобы всплывающее окно отображалось при нажатии кнопки.

Если я щелкну за пределами всплывающего окна, я хочу, чтобы оно закрылось. Я могу добиться этого, установив StaysOpen=False во всплывающем окне.

Но когда я нажимаю за пределами всплывающего окна, я хочу, чтобы WPF игнорировал первый щелчок, который закрывается. всплывающее окно. Например, если я нажму другую кнопку за пределами всплывающего окна, я не хочу, чтобы эта кнопка выполняла метод щелчка.

Как я могу заставить WPF игнорировать щелчок снаружи всплывающее окно, пока оно открыто?

Вот пример кода. Всплывающее окно открывается, когда я нажимаю кнопку «Всплывающее окно», и закрывается, когда я нажимаю снаружи. Но я могу нажать кнопку «PrintMessage», когда всплывающее окно открыто, и сработает событие щелчка. Я бы хотел, чтобы событие щелчка не сработало.





Btn1
Btn2




Popup
PrintMessage



public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}

private void Popup_Click(object sender, RoutedEventArgs e)
{
Popup pop = (Popup)Resources["pop"];
pop.IsOpen = true;
}

private void PrintMessage_Click(object sender, RoutedEventArgs e)
{
Debug.WriteLine("Test");
}
}


Подробнее здесь: https://stackoverflow.com/questions/343 ... e-of-popup
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»