WPF Windows アプリでさまざまな画面解像度に対処したくありません。そこで、ディスプレイのさまざまな問題をすべて解決できると信じているアプローチにたどり着きました。
ウィンドウのデザインは次のようになります。
<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# の世界では初心者ですが、これは最近の発見です。
ここでは考慮していないアプローチのマイナス点について聞きたいと思います。これが他の人の設計作業に役立つことを願っています.
ありがとうございます......