【发布时间】:2012-07-15 09:57:52
【问题描述】:
我正在用 C#.net 开发一个 WPF 应用程序。我有一个关于窗口调整的问题。在某些屏幕分辨率中,我的主窗口还可以,但在宽屏显示器和其他一些屏幕分辨率窗口中,其中的控件很杂乱。
【问题讨论】:
-
一些代码和截图将有助于理解问题并给出一些建议。
我正在用 C#.net 开发一个 WPF 应用程序。我有一个关于窗口调整的问题。在某些屏幕分辨率中,我的主窗口还可以,但在宽屏显示器和其他一些屏幕分辨率窗口中,其中的控件很杂乱。
【问题讨论】:
您好,最简单的方法之一是不设置窗口的宽度和高度,并将属性 SizeToContent=WidthAndHeight 设置为
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" SizeToContent="WidthAndHeight">
<Grid Height="226">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
我希望这会有所帮助。
【讨论】:
如果您硬编码Height 和Width,或者仅使用margins 对齐元素,您将遇到不同分辨率的缩放问题。您需要一个巧妙的网格布局,您只需将行和列分配给控件并设置它们的Horizontal 和Vertical Alignments。因此,即使网格调整大小,元素的相对排列也不会改变,布局将保持一致。
如果您没有在应用程序中利用更高的分辨率(例如显示更多项目),您可以考虑在 ViewBox 中使用 Canvas,它基本上可以缩放以适应所有内容。
【讨论】: