Как центрировать приложение WPF на экране?
Я хочу, чтобы центр моего приложения WPF при запуске на основном экране. Я знаю, что должен установить свое окно.Слева и мое окно.Топ, но где я могу получить значения?
нашел System.Windows.Forms.Screen.PrimaryScreen, который, по-видимому, не WPF. Есть ли альтернатива WPF, которая дает мне разрешение экрана или что-то в этом роде?
7 ответов:
поместите это в конструктор окна
WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen;.NET FrameworkSupported in: 4, 3.5, 3.0
клиентские профили .NET Framework поддерживаются в: 4, 3.5 SP1
вы все еще можете использовать класс 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