Главная страница
Случайная страница
КАТЕГОРИИ:
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Способ 2
-
В разметку файла Window2.xaml добавьте определение свойства Name окна Window2 для его идентификации в коллекции приложения < Window x: Class=" WpfApp3.Window2" xmlns=" https://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns: x=" https://schemas.microsoft.com/winfx/2006/xaml" Name=" Window_2" Title=" Дочернее окно Window2: Работа объекта ImageDrawing через разметку" SizeToContent=" WidthAndHeight" ResizeMode=" NoResize" Background=" Green" >...................................< /Window> -
Модифицируйте обработчик контекстного меню в файле Window1.xaml.cs следующим образом // Предотвращение повторного открытия окна: Способ 2// Обработчик контекстного менюprivate void Create_Window2(object sender, RoutedEventArgs e){ bool windowExists = false; foreach (Window window in Application.Current.Windows) { if (window.Name == " Window_2") { windowExists = true; window.Activate(); // Сдвинуть на передний план break; } } if (! windowExists) { wnd2 = new Window2(); wnd2.Show(); }} -
Запустите приложение и убедитесь, что и этот обработчик блокирования повторного запуска теперь тоже работает правильно -
Разберитесь с кодом
|