自动调整另一个网格中包含的网格行

时间:2011-04-27 14:52:01

标签: wpf

我在另一个网格的第一列中有一个网格,并希望内部网格的行与父网格的行的高度相同。我们的想法是内部网格可以包含我希望能够隐藏的描述(但是与父网格的行保持对齐,因为这些描述与父网格中的某些问题相关联)。 WPF ColumnDefinition没有Visibility属性:(

我所拥有的代码:

    <Grid ShowGridLines="true" Name="gridje">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" Name="row0"/>
        <RowDefinition Height="Auto" Name="row1"/>
        <RowDefinition Height="Auto" Name="row2"/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition />
        <ColumnDefinition />
    </Grid.ColumnDefinitions>
    <Grid Grid.Row="0" Grid.RowSpan="3" ShowGridLines="true">
        <Grid.RowDefinitions>
            <RowDefinition Height="{Binding ElementName=row0, Path=ActualHeight, Mode=OneWay}"/>
            <RowDefinition Height="{Binding ElementName=row1, Path=ActualHeight, Mode=OneWay}"/>
            <RowDefinition Height="{Binding ElementName=row2, Path=ActualHeight, Mode=OneWay}"/>
        </Grid.RowDefinitions>
        <TextBlock Grid.Row="0">Joepie</TextBlock>
        <TextBlock Grid.Row="2">Joepie</TextBlock>
    </Grid>
    <TextBlock Grid.Row="0" Grid.Column="1" TextWrapping="WrapWithOverflow">Klaasje daskljf askldfas dfasjkl dfhklasjdfh askljdfh askljdfh h askljdfh klasdfh alsjkdfh askldfh askljfh alsdjkfh asklfh </TextBlock>
    <TextBlock Grid.Row="1" Grid.Column="1" TextWrapping="WrapWithOverflow">Klaasje daskljf askldfas dfasjkl dfhklasjdfh askljdfh askljdfh h askljdfh klasdfh alsjkdfh askldfh askljfh alsdjkfh asklfh</TextBlock>
    <TextBlock Name="textb" Grid.Row="2" Grid.Column="1" TextWrapping="WrapWithOverflow" Text="{Binding ElementName=row0, Path=ActualHeight, Mode=OneWay}"></TextBlock>
    <Button Content="Button" Grid.Column="1" Grid.Row="2" Height="23" HorizontalAlignment="Left" Margin="66,173,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click" />
</Grid>

奇怪的是,在VS2010的设计模式中,一切正常,但一旦运行,所有实际高度属性都保持为零。

对此有任何帮助将不胜感激。也许使用其他一些WPF控件来实现这一点也没问题。

1 个答案:

答案 0 :(得分:2)

也许Grid.IsSharedSizeScope -property会帮助你。有了这个,您可以同步Grid-elements的宽度和高度。 有关如何使用它的示例包含在msdn文章中。