其他分享
首页 > 其他分享> > CodeGo.net>如何隐藏一个ColumnDefinition的内容

CodeGo.net>如何隐藏一个ColumnDefinition的内容

作者:互联网

我有一个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及其内容?

谢谢!

马丁

解决方法:

您已经在行定义中添加了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);

标签:user-controls,silverlight-4-0,wpf,c,silverlight
来源: https://codeday.me/bug/20191208/2087819.html