Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Принудительная перерисовка окна






Если внимательно посмотреть на работающее приложение, то можно заметить один неприятный нюанс. Когда по щелчку мыши вызываются диалоговые окна и они перекрывают элементы меню или кнопки, то после закрытия диалогов интерфейсные элементы не перерисовываются. Это происходит потому, что элементы теряют фокус за счет переключения на другое окно и мышь уходит (leave) с них не по установленной схеме. Как заставить окно WPF перерисоваться (paint), я так и не нашел (пока), поэтому ничего не оставалось, как применить следующий 'убогий' способ...

  • В файле Window1.xaml добавьте в открывающий дескриптор окна подписку на событие Activated
< Window x: Class=" Notepad1.Window1" xmlns=" https://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns: x=" https://schemas.microsoft.com/winfx/2006/xaml" Title=" Window1: Управление состоянием источников команд" Width=" 500" Height=" 375" MinWidth=" 500" MinHeight=" 375" WindowStartupLocation=" CenterScreen" ResizeMode=" CanResizeWithGrip" Loaded=" Window_Loaded" Icon=" Notepad.ico" Closing=" Window_Closing" Activated=" Window_Activated" >.........................................< /Window>
  • Создайте обработчик Window_Activated() в файле Window1.xaml.cs и заполните его так
private void Window_Activated(object sender, EventArgs e) { this.Height = this.ActualHeight - 1; this.Height = this.ActualHeight + 1; this.txtBox1.Focus(); }
  • Испытайте приложение - окно снизу немного дергается, но возможно пользователь этого не заметит (кто сейчас смотрит под ноги!), зато интерфейсные элементы " не залипают"

Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.006 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал