我正在 WPF 中创建一个全屏应用程序,我需要选择如何实际调整内容大小以使用屏幕上的所有可用空间。
据我所知,有两种解决方案:
- 带有星星尺寸的网格
- ViewBox 包装器
我认为他们都可以完成这项工作,但取决于应用程序,一个比另一个更好:什么时候应该使用网格方法?什么时候可以接受 viewbox 方法?
我正在 WPF 中创建一个全屏应用程序,我需要选择如何实际调整内容大小以使用屏幕上的所有可用空间。
据我所知,有两种解决方案:
我认为他们都可以完成这项工作,但取决于应用程序,一个比另一个更好:什么时候应该使用网格方法?什么时候可以接受 viewbox 方法?
Grid 总是比 ViewBox 更灵活,如果您希望应用程序的某些组件具有固定的高度/宽度怎么办?例如,Visual Studio 侧面的面板大小不会随着应用程序窗口大小的变化而变化。
我会做一些实验:
我同意 ColineE 和 karam:
使用星号为列宽和行创建一个网格,以帮助布局程序。
然后将需要缩放的特定项目包装在视图框中。
所以,我猜这个答案是加起来的 1/2。
检查此示例代码以了解我的意思...
<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" Height="350" Width="525">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column ="0" Text="Left"/>
<Viewbox Grid.Column ="1" >
<TextBlock Text="Right"/>
</Viewbox>
</Grid>
您不能使用网格和星形尺寸进行缩放。ViewBox 可以缩放其内容。