2
我似乎永遠無法圍繞DockPanel,StackPanel和Grid之間在限制其子內容方面的差異。此XAML:將面板中的子控件的大小限制在可見區域
<DockPanel>
<Menu/>
<ToolBarTray/>
<ScrollViewer>
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TabControl>
<TabItem Header="Data" Name="tabData">
<DockPanel>
<Border Name="extraDataBorder" DockPanel.Dock="Top"
Style="{StaticResource ConsistentBorder}" Margin="10">
</Border>
<igDP:XamDataGrid Grid.Row="1"
Margin="10,10,10,0"
ScrollViewer.HorizontalScrollBarVisibility="Visible"
ScrollViewer.VerticalScrollBarVisibility="Visible" >
</igDP:XamDataGrid>
</DockPanel>
</TabItem>
</TabControl>
</Grid>
</ScrollViewer>
</DockPanel>
可生產如下圖所示的數字是不是屏幕的可視區域內限制的網格:
我不想讓網格程度超越屏幕的可見區域。相反,我希望它被剪切,以便用戶可以看到水平滾動條,而不必向下滾動以查看水平滾動條。我曾嘗試使用堆棧和DockPanel代替網格,但獲得完全相同的效果。我該如何解決?
TIA。
編輯: 我正在編輯原始XAML以包含導致此問題的其他元素。
什麼是最外面的DockPanel內?我問,因爲從屏幕截圖看,它看起來像是選項卡控件正在低於你希望視覺效果停止的位置。這似乎表明,最外面的DockPanel或其祖先之一是在允許它更高的東西內。通常問題是將元素放入StackPanel(或RowDefinition具有自動高度的網格)中,這基本上意味着元素的高度是無限的,因此根據內容的大小來測量大小。 – AndrewS
最外面的DockPanel位於UserControl內。 –
對不起,但仍然沒有回答,因爲用戶控件必須在東西內託管。如果沒有清晰的元素層次結構圖,我無法真正幫助你。在你的圖像中,你有一個指向某個元素的箭頭 - 選項卡控件和該元素之間的元素樹關係是什麼? – AndrewS