2012-03-17 8 views
0

私のフォームには、最初に崩壊したTextBlock要素があります。 (TextBlock.Visibility = Visibility.Collapsed)。何らかのエラーが発生したら、それを表示する必要があります。 TextBlock.Visibility = Visibility.Showを使用すると、TextBlockの下にあるすべてのコントロールがダウンしています。上方向に倒れた後にUIElementを表示するにはどうすればよいですか?

質問:TextBlockが表示されている場合に上部要素を持ち上げるように、このTextBlockの下にあるすべての要素をドッキングするにはどうすればよいですか?

+0

コントロールが大きくなると、ウィンドウまたはページが右と下の部屋になります。私はその行動を変える方法はないと思います。 – Paparazzi

+0

垂直方向の配置を利用する場合、限られた方法であります。 –

答えて

0

あなたの質問は正確ではありませんが、TextBlockが表示されたときに他のコントロールを移動したくない場合は、Visibility.Hiddenで開始してください。

+0

はい、このTextBlockのレイアウトスペースを維持したくないので、折りたたんだままにしておきたいと思います。 – VladimirBadiuk

+0

あなたの質問で言うように、上の要素を持ち上げるのはどういうことか分かりません。 –

1

これを達成する1つの方法は、VerticalAlignmentプロパティを戦略的に使用することです。次のスニペットを考えてみましょう。このスタックパネルが、成長の余地があるコンテナ内にある場合、上方に成長します。中間のテキストブロックの表示を切り替えると、上の要素がプッシュされます。

<StackPanel VerticalAlignment="Bottom"> 
    <TextBlock>I shift upward</TextBlock> 
    <TextBlock Visibility="Collapsed">Error message here</TextBlock> 
    <TextBlock>I stay put</TextBlock> 
</StackPanel> 
+0

しかし、それは空きスペースを増やすことを意味します。だから、不動産は実際に崩壊によって得られます。まだ+1。 – Paparazzi

+0

ありがとうございました。できます。私はVerticalAlignmentのデフォルト値を忘れていました。 – VladimirBadiuk

関連する問題