3

UniformGridWPF プロジェクトに 2 行 3 列のオブジェクトがあり、その幅と高さが自動に設定されています (両方の配置がストレッチに設定されています)。

このグリッドには、セルのできるだけ多くを埋め、水平方向と垂直方向の中央に配置する 6つの正方形が保持されます。

親の動的サイズに基づいて正方形の長さ/幅を増減できるようにするには、何を追加する必要がありますか? IE、ウィンドウのサイズが変更されたとき。

これまでの私のxamlは次のとおりです。

    <UniformGrid Rows="2" Columns="3">
        <Rectangle Fill="#FFF4F4F5" Height="100" Stroke="Black" Width="100"/>
        <Rectangle Fill="#FFF4F4F5" Height="100" Stroke="Black" Width="100"/>
        <Rectangle Fill="#FFF4F4F5" Height="100" Stroke="Black" Width="100"/>
        <Rectangle Fill="#FFF4F4F5" Height="100" Stroke="Black" Width="100"/>
        <Rectangle Fill="#FFF4F4F5" Height="100" Stroke="Black" Width="100"/>
        <Rectangle Fill="#FFF4F4F5" Height="100" Stroke="Black" Width="100"/>
    </UniformGrid>

編集:

また、Rectangleオブジェクトは正方形のままである必要があります。

4

3 に答える 3

4
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
  <Grid>
<UniformGrid Rows="2" Columns="3">
<Viewbox Stretch="Uniform"><Rectangle Height="100" Width="100" Fill="#FFF4F4F5" Stroke="Black" /></Viewbox>
<Viewbox Stretch="Uniform"><Rectangle Height="100" Width="100" Fill="#FFF4F4F5" Stroke="Black" /></Viewbox>
<Viewbox Stretch="Uniform"><Rectangle Height="100" Width="100" Fill="#FFF4F4F5" Stroke="Black" /></Viewbox>
<Viewbox Stretch="Uniform"><Rectangle Height="100" Width="100" Fill="#FFF4F4F5" Stroke="Black" /></Viewbox>
<Viewbox Stretch="Uniform"><Rectangle Height="100" Width="100" Fill="#FFF4F4F5" Stroke="Black" /></Viewbox>
<Viewbox Stretch="Uniform"><Rectangle Height="100" Width="100" Fill="#FFF4F4F5" Stroke="Black" /></Viewbox>
    </UniformGrid>
  </Grid>
</Page>
于 2011-12-30T18:08:53.177 に答える
1

あなたはこれを行うことができます:

<UniformGrid.Resources>
    <Style TargetType="Rectangle">
        <Setter Property="Width"
                Value="{Binding RelativeSource={RelativeSource Mode=Self},Path=ActualHeight}" />
    </Style>
</UniformGrid.Resources>

または、Height を ActualWidth にバインドすることもできます。

残念ながら、これはそれらを最大限に引き伸ばすことはできません。

于 2011-12-30T18:15:33.487 に答える
-1

heightプロパティとプロパティを削除すると、widthそれが行われます。

于 2011-12-30T17:57:03.827 に答える