Как центрировать приложение WPF на экране?



Я хочу, чтобы центр моего приложения WPF при запуске на основном экране. Я знаю, что должен установить свое окно.Слева и мое окно.Топ, но где я могу получить значения?



нашел System.Windows.Forms.Screen.PrimaryScreen, который, по-видимому, не WPF. Есть ли альтернатива WPF, которая дает мне разрешение экрана или что-то в этом роде?

1127   7  

7 ответов:

поместите это в конструктор окна

WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen;

.NET FrameworkSupported in: 4, 3.5, 3.0

клиентские профили .NET Framework поддерживаются в: 4, 3.5 SP1

xaml

WindowStartupLocation="CenterScreen"

вы все еще можете использовать класс Screen из приложения WPF. Вам просто нужно обратиться к системе.Окна.Формирует сборку из вашего приложения. Как только вы это сделаете, (и ссылочная система.Рисунок для примера ниже):

Rectangle workingArea = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea;

...прекрасно работать.

вы рассматривали настройка главного окна WindowStartupLocation свойство CenterScreen?

Как насчет класса SystemParameters в PresentationFramework? Он имеет WorkArea свойство, которое кажется то, что вы ищете.

но, почему бы не установить окно.WindowStartupLocation работает? CenterScreen-это одно из значений перечисления. Вам нужно настроить центровку?

вам не нужно ссылаться на System.Windows.Forms сборка из вашего приложения. Вместо этого, вы можете использовать System.Windows.SystemParameters.WorkArea. Это эквивалентно System.Windows.Forms.Screen.PrimaryScreen.WorkingArea!

нет эквивалента WPF. System.Windows.Forms.Screen по-прежнему является частью .NET framework и может использоваться из WPF.

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

var window = new MyWindow();

для центра экрана используйте:

window.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen;

для центра родительского окна используйте:

window.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterOwner;

Comments

    Ничего не найдено.