2014-01-20 57 views
1

wpf中的畫布可以自動調整大小?我在scrollviewer中有一個畫布,我將在代碼後面的這個畫布中添加幾個按鈕和線條。因爲我不知道按鈕的位置,所以我必須爲畫布的寬度和高度硬編碼一個非常大的數字,或者如果我添加了太多的按鈕,它只能顯示其中的一部分。wpf中的畫布自動調整大小

我嘗試將寬度和高度設置爲自動但它不起作用。

<Grid> 
     <ScrollViewer HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Visible"> 
      <Canvas Width="Auto" Height="Auto" Name="cv1"></Canvas> 
     </ScrollViewer> 
    </Grid> 
+0

重複問題: http://stackoverflow.com/questions/855334/wpf-how-to-make-canvas-auto-resize?lq=1 –

回答

1

Canvas元件是不能被自動調整大小的唯一元件,因爲沒有固有的佈局特性。如果您希望Control在子元素進來時調整大小,則可以使用衍生自Grid的內容。 嘗試使用UniformGrid而不是你的Canvas並用你想要的元素填充它。它允許您只添加由UniformGrid處理的沒有任何佈局約束的元素。否則,如果您使用簡單的Grid,則必須通過設置每個子元素的Margin屬性來爲元素定義位置。

希望這會有所幫助。

+0

@josiah我的回答有幫助嗎? – jhontarrede