我正在構建一個項目,該項目將webservice中的數據加載到TreeView控件中。如果TreeView自身包含在LayoutRoot網格中,並且其高度設置爲Auto,則如果內容超出樹視圖的垂直或水平極限,則會按預期自動出現滾動條。Silverlight TreeView ScrollBars在StackPanel中消失
如果同一個TreeView控件放置在StackPanel中,則會改變行爲。當數據超出限制時,不會出現滾動條,數據只會從邊緣切下,而無法訪問它。如果我在這種情況下手動設置TreeView的高度,滾動條將按預期再次出現。
很明顯,我沒有看到StackPanel和TreeView之間存在一些交互。
任何人都可以解釋這一點,並建議一個適當的方式來處理這種情況?
每請求評論:
下面的XAML正常工作,並預期使滾動條(注意在TreeView的高度爲指定):
<StackPanel >
<controls:TreeView ItemTemplate="{StaticResource MainEntryIndexTemplate}"
x:Name="CodeBookIndexTreeView" Height="500" />
</StackPanel>
下面還顯示滾動預期(公告沒有的StackPanel,但TreeView的高度設置爲自動):
<controls:TreeView ItemTemplate="{StaticResource MainEntryIndexTemplate}"
x:Name="CodeBookIndexTreeView" Height="Auto" />
最後,該代碼失敗,該樹視圖不會顯示一個滾動條第二關閉控制的底部和/或右手側的數據滾動(注意TreeView的是在一個StackPanel和TreeView的高度被設定爲自動):
<StackPanel >
<controls:TreeView ItemTemplate="{StaticResource MainEntryIndexTemplate}"
x:Name="CodeBookIndexTreeView" Height="Auto" />
</StackPanel>
乾杯,
史蒂夫
將XAML樣本包含在哪些工作中並且無法正常工作會非常有幫助。 – 2009-01-28 19:11:32