2009-04-04 12 views
8

Zajmuję się tworzeniem aplikacji, która musi być niezależna od rozdzielczości. Aplikacja zawsze będzie pełnoekranowa, więc muszę zaprojektować mój interfejs użytkownika, aby rozdzielczość monitora nie wpłynęła negatywnie na korzystanie z aplikacji. Spędziłem sporo czasu bawiąc się z WPF próbując to osiągnąć. Dzisiaj dowiedziałem się o Viewbox. Wydaje się, że rozwiązuje wszystkie moje problemy. Wszystko, co muszę zrobić, to umieścić siatki używane do układania każdego ekranu w Viewboxes i jak magię Mam niezależną aplikację o rozdzielczości.Czy ViewBox jest najlepszą rzeczą do wykorzystania w celu uzyskania niezależności rozdzielczości w WPF?

Jednak wydaje się to łatwe. To nie jest w porządku. Czy powinienem używać Viewboxes? Jeśli nie, to co powinienem zrobić? Zanim dowiedziałem się o Viewboxie, miałem trudności z wymyśleniem sposobu skalowania rozmiarów czcionek w odniesieniu do rozdzielczości. Dzięki Viewbox nie muszę się o to martwić. Więc jeśli Viewbox jest niewłaściwy w użyciu, jak mogę zmienić rozmiar mojego tekstu?

Odpowiedz

2

Właściwie masz rację. WPF IS Rozdzielczość niezależna, ale problemem jest sposób kontrolowania rozmiaru czcionki.

ViewBoxes należy unikać, ponieważ kosztują one wydajność, ale myślę, że jeden nie powinien nikogo skrzywdzić.

Ale uwaga: To może wyglądać teraz, ale po prostu nie można wyświetlać jak najwięcej informacji z 640x480 jak z 1600x1200 ... Najbardziej eleganckim rozwiązaniem jest użycie szablonów, które są zależne od rozdzielczości demonstratet w Photo Suru app.

+0

szablony zależne od rozdzielczości? Czy to oznacza, że ​​masz szablon dla każdej rozdzielczości iw czasie wykonywania decydujesz, którego użyć? Wydaje się, że dużo pracy. –

+0

Oczywiście, że nie. Oznacza to tylko, że kilka układów jest zależnych od rozdzielczości: na przykład dla osób o rozmiarach 800x600 i mniejszych wyświetlana jest tylko lista, a dla osób z większymi wyświetlaczami dodatkowo wyświetlany jest dodatkowy panel informacyjny. – Hades32

5

WPF ma niezależność w zakresie rozdzielczości. Domyślny pomiar to niezależne od urządzenia piksele (DIP), a nie piksele. Czy możesz wyjaśnić, jak to nie działa, a być może dostarczyć bardzo prosty przykład XAML, który nie skaluje się poprawnie?

+0

Mój największy problem dotyczy czcionek. Wszystko, co mam, w przeważającej części, było w stanie poradzić sobie z wystarczającą ilością układu, który wydaje się działać w różnych rozdzielczościach. Jednak ekrany, które zrobiłem, zajęły dużo czasu. –

+0

Jakieś ogólne wskazówki, jak zapewnić, że moje okna będą wyświetlane w identycznych rozdzielczościach? I jak ręcznie skalować czcionki? –

Powiązane problemy