Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > WPF, UWP, WinRT, XAML
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2012, 13:06   #1
Mixim
Форумчанин
 
Регистрация: 29.10.2009
Сообщений: 259
Вопрос Размер окна пропорционален разрешению экрана - как сделать?

Необходимо, чтобы вне зависимости от того какое разрешение установлено на текущей машине(800x600, 1280x720 и т.д.), WPF-окно всегда занимало 20% от экрана. Допустим, разрешение равно 800x600, тогда ширина окна должно быть равно 800*0.2=160, а высота - 600*0.2=120. Если же разрешение экрана равно 1280x720, то Width=1280*0.2=256 и Height=720*0.2=144.
Примеры как это сделать в WindowsForms легко найти(в частности, на ProgrammersForum), а вот каким образом это сделать в WPF...
Сперва пытался сделать это с помощью XAML-разметки, т.е. последовать "хорошему стилю" разработки GUI в WPF, но ничего не нашел. Ладно, решил пойти нехорошим путем и залезть из исполняемого кода в разметку GUI:
подключаю все требуемые DLL'ки(System.Windows.Forms и Sytem.Drawing) и пишу:
Код:
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            this.Height = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Height*0.2;
            this.Width = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Width *0.2;
        }
Данный код нормально работает, но совсем не хочется приучаться к плохому стилю в WPF(изменять GUI из исполняемого кода), поэтому хотелось бы спросить у Вас: каким образом с помощью XAML можно сделать то, что делается с помощью вышеуказанного кода?
Из всех классических книг, посвященных программированию, ненавижу всего одну - русский перевод книги Роберта Седжвика-"Фундаментальные алгоритмы C++". Предпочитаю читать её в оригинале.
Mixim вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
firemonkey Как узнать размер экрана? pavellyba Общие вопросы Delphi 7 25.10.2011 15:04
Привязка WinForm к разрешению экрана Linore C# (си шарп) 6 15.09.2011 16:40
Как узнать размер клиентской части окна? Belfigor Общие вопросы Delphi 4 03.03.2010 13:00
Привязка окна программы к разрешению монитора ? wetal Софт 12 26.11.2009 15:20
Как сделать чтобы дочерние окна в MDI-приложениях были вне главного окна??? dimonchuk Общие вопросы Delphi 1 11.08.2007 12:13