Я не хочу иметь дело с различными разрешениями экрана в приложении 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 #, и это недавнее открытие.
Я хотел бы услышать об отрицательных моментах в подходе, который я здесь не рассматривал, и надеюсь, что это поможет другим в ихусилия по проектированию.
Спасибо всем ......