-2

我不想在 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# 世界的新手,这是最近的发现。

我想听听我在这里没有考虑过的方法的负面影响,并希望这将有助于其他人的设计工作。

谢谢大家......

4

1 回答 1

2

元素的大小应该由用户选择。他可以更改 DPI 或分辨率(尽管这对于 LCD 来说可能不是一个好主意,但对于 CRT 来说效果很好)。如果他希望能够以较小的字体查看大量信息,让他去做。

如果他的显示器很小,你应该显示滚动条,而不是难以辨认的小字体。

于 2011-06-04T16:20:56.793 回答