我想在主屏幕上啓動時將我的WPF應用程序居中。我知道我必須設置myWindow.Left和myWindow.Top,但是我在哪裏獲取值?我發現System.Windows.Forms.Screen.PrimaryScreen
,這顯然不是WPF。有沒有WPF的替代品給我的屏幕分辨率或類似的東西?如何在屏幕上居中WPF應用程序?
回答
將這個在窗口構造
WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen;
.NET FrameworkSupported:4,3.5,3.0
.NET框架客戶端在ProfileSupported :4,3.5 SP1
您仍然可以使用WPF應用程序中的Screen類。您只需從應用程序中引用System.Windows.Forms程序集。一旦你這樣做了,(以及參考下面的例子System.Drawing):
Rectangle workingArea = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea;
...工作得很好。
您是否考慮將您的主窗口屬性WindowStartupLocation設置爲CenterScreen?
沒有WPF等價物。 System.Windows.Forms.Screen
仍然是.NET框架的一部分,可以從WPF中使用。
有關更多詳細信息,請參見this question,但您可以通過使用WindowInteropHelper
類來包裝WPF控件來使用與屏幕相關的調用。
那麼PresentationFramework中的SystemParameters類呢?它有一個WorkArea財產,似乎是你在找什麼。
但是,爲什麼不能設置Window.WindowStartupLocation的工作? CenterScreen是枚舉值之一。你必須調整居中?
很棒的發現:)至少對我來說,中心屏幕的問題在於,我的登錄窗口很小,如果用戶在應用打開時點擊左右,它往往會被忽視並進入後臺。但如果我可以在中心的主顯示器上打開它,它可以正常工作。注意:大多數用戶有4+屏幕 – 2010-04-27 16:20:16
xaml
WindowStartupLocation="CenterScreen"
您不需要從應用程序中引用System.Windows.Forms
程序集。相反,您可以使用System.Windows.SystemParameters.WorkArea
。這相當於System.Windows.Forms.Screen.PrimaryScreen.WorkingArea
!
var window = new MyWindow();
的屏幕使用的中心:
window.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen;
父窗口使用的中心:
window.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterOwner;
- 1. 如何將CrystalReportViewer居中在屏幕上?
- 2. wpf應用程序在不同屏幕上運行
- 3. 居中屏幕
- 4. 如何在其他應用程序和主屏幕上顯示「破解屏幕」應用程序的圖像
- 5. 如何在WPF應用程序中正確使用屏幕尺寸
- 6. 3D屏幕保護程序干擾WPF應用程序(Windows XP)
- 7. chrome應用程序如何在高dpi屏幕上顯示?
- 8. 檢測屏幕上的應用程序
- 9. 在WPF中,你如何爲多個屏幕編寫應用程序?
- 10. 如何使用BitmapFont.TextBounds在屏幕上居中一行文字?
- 11. WPF伸展全屏應用程序來覆蓋整個屏幕
- 12. 居中在屏幕上的面板
- 13. 在屏幕上居中一組按鈕
- 14. 在屏幕上居中顯示面板
- 15. 在屏幕上居中照相館
- 16. 在Win 8平板電腦上的WPF應用程序中的屏幕鍵盤
- 17. WPF應用程序模糊在Windows 10上的高DPI屏幕上
- 18. 雙屏幕應用程序
- 19. WPF MVVM應用程序中的初始屏幕
- 20. 在主屏幕應用程序中禁用iPad上的滾動
- 21. Ionic 2應用程序在iOS屏幕上閃屏後崩潰 - 如何調試?
- 22. 許多屏幕上的全屏幕(WPF)
- 23. 應用程序在啓動屏幕上崩潰(在iPad 10.2上)
- 24. 如何在Windows應用程序中截取屏幕截圖?
- 25. 如何在Winrt應用程序中創建屏幕截圖?
- 26. 如何在flex(Fms)中記錄屏幕應用程序?
- 27. 如何在PHP Web應用程序中顯示雙屏幕
- 28. 如何將屏幕保持在我的應用程序中?
- 29. 如何在Android應用程序中支持多屏幕大小
- 30. 如何在Android中開始管理應用程序屏幕
哦...我不知道一個。謝謝。 – 2009-06-01 16:43:01
我正在尋找WindowStartupLocation;知道我以前見過,非常有用! – chocojosh 2010-09-08 15:43:37
@Michael Petrotta謝謝。我應該更頻繁地觀察這些屬性。 – meffordm 2011-10-08 03:34:41