2013-07-09 39 views
0

說我有對方我怎樣才能在XAML做到這一點(類似自動保證金?)

TextBlock 1 - Hi how are you? 
TextBlock 2 - I am fine thank you 

結果

Hi how are you? I am fine thank you 

現在說我想隱藏文本塊1的旁邊2周的TextBlocks (dynamcially)。我仍然會看到文本塊2,但在文本塊1將會是巨大的空間之前。

結果

    I am fine thank you 

我想自動搬過來textblock2。

結果

I am fine thank you 

這也將是如果我動態改變TextBlock1是文本較短的字符串和側兩者有側相似的情況下,將有大量的黑色空間。

回答

0

你應該0列的寬度設置爲Auto,這樣的:

<Grid> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="Auto"/> 
     <ColumnDefinition Width="*"/> 
    </Grid.ColumnDefinitions> 
    <TextBlock Grid.Column="0" x:Name="textblock1" Text="Textblock1"></TextBlock> 
    <TextBlock Grid.Column="1" x:Name="textblock2" Text="Textblock2"> </TextBlock> 
</Grid> 
1

對於移動textblock2到textblock1的位置,你正在尋找Visibility.Collapsed而不是Visibility.Hidden

對於汽車寬度的東西,你會要定義的列寬爲*而不是一個固定的寬度。

+0

我的問題是不是隱藏它,我的問題是,一旦文本框隱藏我TextBox2中不動。我在Blend表達式中這樣做,當我拖動標籤旁邊的邊距設置,所以這可能是原因,但我不知道如何將其設置爲自動或類似的東西。 – chobo2

+0

你使用什麼樣的佈局?網格?如果是這樣,您需要定義兩列,並將textblock1放入第0列,將textblock2放入第1列。將第1列的寬度設置爲*。然後,不是'隱藏'textblock1,而是'摺疊'它。然後,textblock2的列將展開以填充textblock1留下的空間。 – Bardicer

+0

我不是以下我把他們兩個放入我的網格的列中,但我總是使用「Visibility.Collapsed」,實際上我看不到Visibility.Hidden。當我使用摺疊仍然沒有得到我想要的結果。我是否應該摺疊列? – chobo2

相關問題