【问题标题】:Scale height and width of all control inside viewbox缩放视图框内所有控件的高度和宽度
【发布时间】:2020-07-11 23:30:40
【问题描述】:

我是 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>

【问题讨论】:

    标签: .net wpf xaml


    【解决方案1】:

    需要修改Stretch。

    统一将使文本保持比例。
    您可能正在寻找填充。

    Stretch Enumeration

    不要设置不会调整大小的控件的高度和宽度。
    并将 Viewbox 放在 Grid 中(不是 Grid 放在 Viewbox 中)。

    <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>
    

    【讨论】:

    • 我不是在谈论文字。我希望在调整窗口大小时,视图框中的所有控件(如文本块按钮等)都应按比例增加和减少。所以指导我怎么做。谢谢
    • 然后处理你的问题“控制大小文本没有按比例调整大小”的措辞。由于您有固定尺寸(高度和宽度,它们不会调整大小。
    猜你喜欢
    • 1970-01-01
    • 2011-04-09
    • 2013-11-26
    • 1970-01-01
    • 2021-07-13
    • 1970-01-01
    • 2011-01-09
    • 2020-11-02
    • 2015-09-23
    相关资源
    最近更新 更多