我有一个SL4用户控件,它使用网格进行布局。网格如下:
<Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition x:Name="LayoutHeaderRow" Height="30"/>
<RowDefinition x:Name="LayoutSubHeaderRow" Height="30"/>
<RowDefinition x:Name="LayoutContentRow" Height="*"/>
<RowDefinition x:Name="LayoutFooterRow" Height="30"/>
</Grid.RowDefinitions>
</Grid>
我的问题是如何隐藏LayoutSubHeaderRow及其内容?
谢谢!
马丁
答案 0 :(得分:3)
您已将x:Name
添加到行定义,但这对您没什么用处,因为RowDefinition
元素不是可视元素,并且不会在可视树中结束。因此FindName找不到它们。
您的xaml需要如下所示: -
<Grid x:Name="Layout" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
<RowDefinition Height="*"/>
<RowDefinition Height="30"/>
</Grid.RowDefinitions>
</Grid>
您可以使用所需行的序号位置从RowDefinitions
集合中挑选出来并在代码中对其进行操作
Layout.RowDefinitions[1].Height = new GridLength(0);