如何使用相同比例的TextBlocks?

时间:2013-11-11 22:10:39

标签: wpf resize scale textblock

我在尝试调整TextBlocks的大小时遇到​​问题。我有一个包含3列和6行的网格,在第二列中我每行都有一个TextBlock,每个TextBlock文本都有不同的长度,因此当我调整窗口大小时,某些文本看起来比其他文本更大或更小。

当我调整窗口大小时,是否有办法在每个TextBlock中具有相同的比例?当我调整窗口大小时,我希望所有TextBlock看起来都相同。

这是我的代码:

<Grid Name="grid">
    <Grid.RowDefinitions>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>

    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>

    <Viewbox Grid.Column="1">
        <TextBlock x:Name="txt1" Text="Some long text 12345" FontSize="20" />
    </Viewbox>

    <Viewbox Grid.Column="1" Grid.Row="1">
        <TextBlock x:Name="txt2" Text="Some longer text 1234567890" FontSize="20" />
    </Viewbox>

    <Viewbox Grid.Column="1" Grid.Row="2">
        <TextBlock x:Name="txt3" Text="Text3" FontSize="20" />
    </Viewbox>

    <Viewbox Grid.Column="1" Grid.Row="3">
        <TextBlock x:Name="txt4" Text="Text4" FontSize="20" />
    </Viewbox>

    <Viewbox Grid.Column="1" Grid.Row="4">
        <TextBlock x:Name="txt5" Text="Text5" FontSize="20" />
    </Viewbox>

    <Viewbox Grid.Column="1" Grid.Row="5">
        <TextBlock x:Name="txt6" Text="Text6" FontSize="20" />
    </Viewbox>

提前致谢,

阿尔贝托

1 个答案:

答案 0 :(得分:0)

  1. 将TextBlock直接放在网格中,不需要viewBox
  2. 设置而不是*
  3. 您可以在ColumnDefination或RowDefination“SharedSizeGroup”中设置另外一个选项 具有相同名称的行或列将共享相同的高度或宽度