Мнения: Viewbox - PullRequest
       9

Мнения: Viewbox

0 голосов
/ 04 июня 2011

Я не хочу иметь дело с различными разрешениями экрана в приложении Windows WPF.Итак, я натолкнулся на подход, который, как мне кажется, решает все проблемы дисплея - в разумных пределах.

Дизайн окна выглядит следующим образом:

<Window x:Class="MyWindow.Window3"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        mc:Ignorable="d" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" d:DesignHeight="872" Title="My Window" SizeToContent="Manual" WindowState="Maximized" d:DesignWidth="1242"
        Height="768" Width="1024" VerticalAlignment="Stretch" Closing="Window_Closing" Icon="Icon.ico" WindowStyle="ThreeDBorderWindow">

    <Grid>
        <Viewbox HorizontalAlignment="Left" VerticalAlignment="Top" StretchDirection="Both">
<!-- your controls go here -->

        </Viewbox>
    </Grid>
</Window>

С этимподход, окно масштабируется, чтобы выровнять к дисплею, независимо от разрешения.Существуют угловые случаи, о которых следует упомянуть:

  • Если окно свернуто до очень малого разрешения, оно будет непригодным для использования, поскольку элементы управления значительно уменьшены.

  • Если окно спроектировано с соотношением сторон, отличным от целевого, тогда, вероятно, будет отображаться большое количество пробелов

Помимо потенциальныхВызваны негативные ограничения, я очень доволен результатами на данный момент.Мне не нужно беспокоиться о полосах прокрутки или различных параметрах масштабирования - это просто работает!

Я не могу быть первым, кто обнаружит это, но я не видел такого подхода, упомянутого ранее.Я все еще новичок в мире C #, и это недавнее открытие.

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

Спасибо всем ......

1 Ответ

2 голосов
/ 04 июня 2011

Это должен быть выбор пользователя, насколько велики элементы. Он может изменить DPI или разрешение (хотя это может быть не очень хорошая идея с ЖК-дисплеями, это хорошо работает с ЭЛТ). Если он хочет видеть много информации мелким шрифтом, пусть сделает это.

Если у него крошечный дисплей, вы должны отображать полосы прокрутки, а не неразборчиво мелкий шрифт.

...