我正试图弄清楚如何调整我的C# WPF程序的大小,使其基本上适合任何屏幕分辨率。我正在尝试将我的程序安装到屏幕分辨率为 1280 x 1024 的计算机上。我找不到任何关于如何准确地做到这一点的信息,当然我可以操纵程序的尺寸以适应特定的屏幕,但每台计算机的屏幕分辨率可能是不同的权利?我尝试使用这里提供的明显解决方案:Resize WPF Window and contents depening on screen resolution但它根本没有帮助。
即,我使用了:(另外,我不确定是否需要将HorizontalAlignment
和VerticalAlignment
也设置为“stretch”,但我还是这样做了。
Title="my screen" Height="{Binding SystemParameters.PrimaryScreenHeight}" Width="{Binding SystemParameters.PrimaryScreenWidth}" WindowStartupLocation="CenterScreen" WindowState="Maximized">
<Grid Name="myGrid" Background="LightGray" Margin="0,0,2,-30" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<TextBox Name="stuffTB" HorizontalAlignment="Left" Height="28" Margin="751,252,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="186" />
字符串
...
每当我在尺寸为 1280 x 1024 的计算机上运行我的exe时,它会切断网格中的内容。任何建议或帮助将是伟大的,甚至链接到例子将是可怕的。先谢谢你。
1条答案
按热度按时间ruarlubt1#
如果你真的想强制调整窗口中所有控件的大小,你可以使用ViewBox https://learn.microsoft.com/en-us/dotnet/api/system.windows.controls.viewbox
但我觉得你做错了。设计好的WPF UI的基础是:
1.如果你想在不考虑内容的情况下保留窗口的某个部分/百分比,可以使用网格列和行
1.使用DockPanel、StackPanel、WrapPanel等。设置用户界面
1.使用ScrollViewer可以查看控件是否设置了一些最小尺寸,并且在特定分辨率下会被截断
看看我为你做的这个样本
字符串