2011-09-09 37 views
3

グリッドをレイアウトに使用するSL4ユーザーコントロールがあります。グリッドは次のとおりです:ColumnDefinitionの内容を非表示にする方法

<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とその内容を隠すのですか?

ありがとうございます!

マーティン

答えて

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); 
関連する問題