我是WPF的新手。在我的代码中,我有一个带有一些控件的简单WPF窗口。所有控件都包含在视图框中。我的问题是,当我调整窗口大小时,控件大小文本不会按比例调整大小。这是我的代码:
<Window x:Class="DesktopGoogleReader.UIelements.About"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="About" Height="346" Width="435"
>
<Window.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,0.5">
<LinearGradientBrush.GradientStops>
<GradientStop Offset="0" Color="#eee" />
<GradientStop Offset="1" Color="#ccc" />
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</Window.Background>
<Viewbox Stretch="Uniform">
<Grid>
<Label Height="41" Margin="83,12,12,0" Name="label1" VerticalAlignment="Top" FontSize="20" FontWeight="Bold">Desktop Google Reader</Label>
<Image Margin="348,0,0,0" Name="image1" Stretch="Fill" Height="65" HorizontalAlignment="Left" VerticalAlignment="Top" Width="65" Source="C:\Users\TRIDIP\Desktop\tmp\Desktop Google Reader WPF good UI\trunk\DesktopGoogleReader\DesktopGoogleReader.ico" />
<Label Height="28" Margin="92,49,12,0" Name="label_versionName" VerticalAlignment="Top">Version: Versionnumber</Label>
<TextBlock Margin="12,83,12,0" Name="textBlock1" Height="54" VerticalAlignment="Top" Text="Desktop Google Reader is Windows / .NET based client to the RSS aggregation service Google Reader. It is licensed under the New BSD License (BSD). It is developed by Konstantins Onufrijevs and Sven Walther" TextWrapping="Wrap" />
<Label Margin="12,134,12,0" Name="label2" Height="29" VerticalAlignment="Top">Credits: Desktop Google Reader uses the following external resources:</Label>
<Button HorizontalAlignment="Left" Margin="12,161,0,0" Name="button_snarlChsarp" Width="173" Height="23" VerticalAlignment="Top" >Snarl Connector</Button>
<Button Margin="191,161,0,0" Name="button_TweetSharp" Height="23" VerticalAlignment="Top" HorizontalAlignment="Left" Width="173" >TweetSharp</Button>
<Button Height="23" HorizontalAlignment="Left" Margin="12,190,0,0" Name="button_iconSet" VerticalAlignment="Top" Width="173" >Function Icon Set</Button>
<Button Height="23" Margin="191,190,0,0" Name="button_facebook" VerticalAlignment="Top" HorizontalAlignment="Left" Width="173" >Facebook Developer Toolkit</Button>
<Button Height="23" HorizontalAlignment="Left" Margin="12,219,0,0" Name="button_awesomium" VerticalAlignment="Top" Width="173" >Web Kit .NET</Button>
<Button Height="23" Margin="191,219,0,0" Name="button_winkle" VerticalAlignment="Top" HorizontalAlignment="Left" Width="173" >Winkle Update System</Button>
<TextBlock Height="59" Margin="12,248,12,0" Name="textBlock_contributors" VerticalAlignment="Top" Text="Contributors: We want to thank all the people using Desktop Google Reader. A special thanks goes to Henry C. for his continues help in improving and supporting our project." TextAlignment="Left" TextWrapping="Wrap" />
</Grid>
</Viewbox>
</Window>
答案 0 :(得分:3)
需要修改Stretch。
统一将保持文本成比例 你可能正在寻找Fill。
不要设置控件的高度和宽度,它不会调整大小 并将Viewbox放入网格(而不是Viewbox中的Grid)。
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Viewbox Grid.Row="0" Grid.Column="0" Stretch="Fill">
<TextBox Text="size me" TextChanged="TextBox_TextChanged" />
</Viewbox>
<Viewbox Grid.Row="1" Grid.Column="0" Stretch="Fill">
<TextBox Text="size me to0 " TextChanged="TextBox_TextChanged" />
</Viewbox>
</Grid>