Wpf 强制我的网格以4:3的分辨率缩放
我将我的页面设计为4:3可伸缩,我希望我的网格在任何屏幕上都能伸缩到4:3 例如,在1900x1200上,我的网格将扩展到1600x1200,网格的每一侧将有150px。我怎样才能有这种行为 我从以下几行开始:Wpf 强制我的网格以4:3的分辨率缩放,wpf,screen-resolution,Wpf,Screen Resolution,我将我的页面设计为4:3可伸缩,我希望我的网格在任何屏幕上都能伸缩到4:3 例如,在1900x1200上,我的网格将扩展到1600x1200,网格的每一侧将有150px。我怎样才能有这种行为 我从以下几行开始: <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> <ColumnDefinition Width="1024*" />
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="1024*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="768*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid Grid.Row="1" Grid.Column="1" Name="my_grid" />
</Grid>
但我不知道如何处理4:3的事情。我想强制我的网格拉伸,直到它有可能的最高4:3分辨率,然后让两边的自由空间
你认为我只能在WPF中做到这一点吗
谢谢您可以使用ViewBox控件。按照您所做的方式设计XAML,并将其放在其中。ViewBox将缩放以使内容适合可用大小。它不会调整内容大小,因此所有内容(比率、宽度等)都将保持不变
见多亏了萨沙,我做到了:
<Viewbox Name="grid_jeu" Stretch="Uniform" HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Column="1" Grid.Row="1" >
<MyControl Name="my_grid" />
</Viewbox>
我的控件是这样设计的:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="32" MaxHeight="32"/>
<RowDefinition Height="72" MaxHeight="72"/>
<RowDefinition Height="10" MaxHeight="10"/>
<RowDefinition Height="*"/>
<RowDefinition Height="20" MaxHeight="20"/>
<RowDefinition Height="90" MaxHeight="90"/>
<RowDefinition Height="32" MaxHeight="32"/>
</Grid.RowDefinitions>
</Grid>
我希望只有一行和一列可以缩放。正如你所看到的,我试图设置“MaxHeight”和“MaxWidth”以避免我的行被缩放,但它不起作用。当我启动应用程序时,我有一个309px列,可以扩展到420 谢谢大家!!我尝试使用viewbox,但仍有一些问题(如我的回答中所述)