【问题标题】:How to hide a the contents of a ColumnDefinition如何隐藏 ColumnDefinition 的内容
【发布时间】:2011-09-09 16:34:46
【问题描述】:

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

谢谢!

马丁

【问题讨论】:

    标签: c# wpf silverlight silverlight-4.0 user-controls


    【解决方案1】:

    您已将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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-01
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 2015-05-11
      • 2010-10-15
      • 1970-01-01
      相关资源
      最近更新 更多