微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐