C# WPF. Как открыть нужное окно приложения в зависимости от размера рабочего стола

224
19 февраля 2018, 00:00

Здравствуйте. Есть приложение на WPF. Хочу добавить два главных окна с различными XAML разметками. Теперь мне нужно запускать приложение в зависимости от размера рабочего стола компьютера/ноутбука.

Как определить ширину и высоту рабочего стола я знаю, делается примерно так:

int Width = SystemInformation.PrimaryMonitorSize.Width;
int Height = SystemInformation.PrimaryMonitorSize.Height;

А вот как реализовать запуск нужного главного окна приложения я не знаю. Возможно ли такое вообще сделать или нет?

Answer 1

Да, можно.

Откройте App.xaml и уберите установку свойства StartupUri.

Затем откройте App.xaml.cs и добавьте в него метод:

protected override void OnStartup(StartupEventArgs e)
{
    base.OnStartup(e);
    ...
}

Вместо многоточия просто проверьте свои условия, создайте экземпляр нужного окна и покажите его:

Window window = (условие) ? new Window1() : new Window2();
window.Show();
READ ALSO
C# + Autohotkey.dll как использовать ahkGetVar?

C# + Autohotkey.dll как использовать ahkGetVar?

Есть код для подключения AutoHotkeydll:

205
Библиотеки для удобного ввода формул и ручного построения графиков

Библиотеки для удобного ввода формул и ручного построения графиков

Доброго времени сутокСтоит задача разработать обучающую компьютерную программу по физике для школьников

210
winForms в monodevelop

winForms в monodevelop

Переношу проект с# c windows на linuxпри попытке скомпилировать вылетает ошибка

194
c#, дырявые textBox

c#, дырявые textBox

пишу прогу в SharpDevelop и строю обычную нубскую форму с текстбоксами, кнопкой и лабелем, вроде как всё нормально потом после каких то движений...

173