2009-06-01 68 views

回答

2

由於WPF會自動將可用空間傳遞給子控件的Measure()函數,因此它們的大小適合可用空間,所以沒有直接的方法可以做到這一點。

請注意,默認情況下,它在無限遠處通過垂直方向,因爲內容可以永久垂直滾動。您可以在垂直和水平方向上更改滾動條的可見性,以影響無限是垂直,水平還是兩者傳遞。

搞清楚孩子如何控制寬居然有純XAML佈局是創建一個空的控制,最好的方法 - 例如,一個空網格 - 然後綁定到其ActualWidth的屬性:

<ScrollViewer> 
    <StackPanel> 
     <Grid x:Name="MeasureGrid"/> 
     <TextBox Text="{Binding ElementName=MeasureGrid, Path=ActualWidth}"/> 
    </StackPanel> 
</ScrollViewer> 

除了顯示實際可用於控件的寬度外,我沒有在XAML中看到此信息的任何其他用途 - 但我可以想到的所有其他場景都可以隱式使用此信息。你能給我們提供更多關於你想要完成的事情的信息嗎?

+0

問題是TabItem不會佔用TabControl的所有可用空間(除非我丟失了某些東西)。所以我一直在擴展我的元素到tab控件的寬度,我現在需要放置一個scrollviewer,但我無法弄清楚給我的元素的寬度。 – grizzley 2009-06-01 18:51:28

+0

默認情況下,TabItem的內容應該填充可用空間。你是否無意中設置了Horizo​​ntal/VerticalAlignment屬性? – YotaXP 2009-06-01 19:13:13

+0

也許?這裏是一個簡單的xaml,其中按鈕不填充TabItem空間。 grizzley 2009-06-01 21:16:45