C# stała wielkość okna bez względu na rozdzielczość


(Adix3) #1

Witam. Tworzę sobie prostą aplikację (w WPF) na Windows w C# przy pomocy Visual Studio 2013. Projekt wykonuję na laptopie który ma matrycę HD+ (rozdzielczość 1600x900). Z tego co mi wiadomo to gdy będę chciał uruchomić ten sam program na komputerze z rozdzelczością Full HD (1920x1080) to okno programu jak i jego wnętrze, tj. kontrolki, tekst, itp. ulegną pomniejszeniu, co może spowodować, że niektóre napisy mogą być mało czytelne. Jak wiadomo teraz rozpoczyna się moda na ekrany 4K gdzie rozdzielczość jest znacznie większa. Gdyby przyszło mi uruchomić mój program na takim monitorze to najprawdopodobniej niektóry tekst musiałbym odczytywać przy pomocy lupy :stuck_out_tongue_winking_eye: Dlatego założyłem ten temat gdyż chciałbym się dowiedzieć czy istnieje jakaś możliwość aby mój program miał stałą wielkość bez względu na rozdzielczość ekranu? Chodzi mi głownie aby wraz ze wzrostem rozdzielczości wielkość okna aplikacji nie malała (lub malała minimalnie). Z racji tego, że tworzę aplikację przy rozdzielczości 1600x900, o mniejsze rozdzielczości ekranu się nie martwię bo ich nie biorę pod uwagę, gdyż obecnie standardem jest Full HD.  


(Edgarus) #2

Jeśli zrobisz apkę do rozdzielczości HD+ np okno 800x600, to przy full hd, Twoje okno dalej będzie mieć rozmiar 800x600. Zmienia się tylko gęstość upakowania pikseli w urządzeniu wyświetlającym.

Możesz spróbować albo bazować na tym, jakie dpi windows bierze pod uwagę renderując okna.

 

Tutaj masz opis ms dot skalowania w windows 8 http://blogs.msdn.com/b/b8/archive/2012/03/21/scaling-to-different-screens.aspx