2013-10-02 29 views
0

我在xaml的stackPanel中出現了一個奇怪的問題。xaml中的StackPanel方向

我的stackPanel包含一個文本框和一個按鈕。

這應該在同一行(如果可能,取決於文本寬度)。 問題是:

如果stackPanel有Orientation="Vertical",該按鈕將轉到文本下方的行。 如果stackPanel有Orientation="Horizontal",那麼這條線不會做任何斷線,因此所有的線都會離開我的網格。

<StackPanel Name="spRemplir" 
      Grid.Row="2" 
      Grid.ColumnSpan="6" 
      Width="560" 
      Margin="5,5,5,5" 
      Orientation="Horizontal" 
      VerticalAlignment="Center"> 
<TextBlock FontWeight="Bold" 
      Text={Binding Text} 
      TextWrapping="Wrap"/> 
<Button Name="btRemplir" 
     Margin="5,0,0,0" 
     Width="150" 
     Content="Remplir"/> 
</StackPanel> 

我該如何獲得一個stackPanel,如果必要的話會斷行,並且在同一行上有一個文本和一個按鈕?

更新與Wrapanel感謝禮阿貝爾:

<toolkit:WrapPanel Name="spRemplir" 
        Grid.Row="2" 
        Grid.ColumnSpan="6" 
        Margin="5,5,5,5" 
        Width="560" 
        Orientation="Horizontal"> 
    <TextBlock FontWeight="Bold" 
       Text={Binding Text} 
       TextWrapping="Wrap"/> 
    <Button Name="btRemplir" 
      Content="Remplir"/> 
</toolkit:WrapPanel> 

但是,還是按鍵的下一行,則出現在同一行文本後有足夠的空間。

Itried面板上取出寬度,但隨後,有沒有更多的包裝...

我不明白。即使在同一個Grid上有stackPanel,他們也不應該打擾包裝面板嗎?

謝謝。

+0

WPF? Silverlight的? Windows Phone? Windows 8?更新您的標籤。 –

+0

也許問題是硬編碼寬度爲StackPanel(寬度=「560」)。如果它在網格中,則不應該有必要,它可能會導致您所描述的內容。 –

+0

@EliArbel你的權利。添加silverlight標記。布利:如果我刪除寬度,我不會休息一下。 –

回答

2

你可以嘗試從Silverlight Toolkit一個WrapPanel。請注意,此面板不允許您將項目拉伸到容器寬度。

您還應該考慮移除面板的固定Width

+0

好的謝謝。我在嘗試,但是,他與Stackpanel有什麼不同?我在他們兩個中只看到了相同的屬性。 –

+0

是的,但它使用不同的佈局。它將項目放在一起,當沒有足夠的空間時,就是「換行」。 –

+0

確實。奇怪的是,他開始展示在cantainer的一半。但它是行中唯一的元素......我將搜索出現了什麼問題。 –

1

嘗試使用網格而不是StackPanel。 StackPanel的問題是他們沒有向Visual Tree報告他們沒有空間。這不是一個錯誤,它只是它們的方式,當你需要時它是合適的。但是,除了最內在的元素之外,我會避開它們。但是不要在StackPanel中使用StackPanels,因爲您將丟失TextWrapping/Scrolling,並且只是元素落在頁面的右側或底部。

其次,請確保您的外部容器已設置,以便寬度被限制。例如,在您的佈局根目錄中,爲其指定一個Column,並將寬度設置爲*這意味着=「可用空間,但不是更多」如果您的外部容器受到限制,則TextBlock將正確包裝。

Greg

+0

那麼我的stackPanel是一個網格的孩子(所以我必須在其中定義一個寬度,有一個很好的包裝?)。每次定義網格(具有列和行定義)是不是很多工作?只是問問。並感謝您的解釋。 –

+0

我想我會在xaml最好的結構^^上做一些「功課」。感謝您的建議我的代碼並沒有真正成爲它看起來最好的方式。 –

+0

@Zaphod是的,它有點打字,但它給你很好的佈局,會動態改變。查看我在所有Silverlight中創建的這個網站:OfficeExtreme.com –

相關問題