我有一个WPF用户控件,它包含一个 Package 在网格中的DataGrid。用户控件托管在我的主应用程序窗口中,位于 Package 在StackPanel中的TabControl内。
我遇到的问题是,我不能让DataGrid的垂直滚动条完全显示。它被“裁剪”,只有1/2的宽度是可见的。
这里是我的UserControl的XAML定义:
<UserControl x:Class="Sample.Views.SampleView"
Width="{Binding RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type StackPanel}},Path=ActualWidth}"
Height="{Binding RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type StackPanel}},Path=ActualHeight}">
<Grid Name="PastDueInvoicesGrid" >
<DataGrid Name="PastDueInvoicesDataGrid"
AutoGenerateColumns="False"
Margin="0,0,0,3"
GridLinesVisibility="None"
IsReadOnly="True"
SelectionMode="Extended"
SelectionUnit="CellOrRowHeader"
HorizontalScrollBarVisibility="Auto"
VerticalScrollBarVisibility="Auto"
AllowDrop="False" >
</DataGrid>
</Grid>
</UserControl>
字符串
StackPanel/TabControl的定义如下:
<StackPanel Grid.Row="1" x:Name="stackPanelAccountDetailViewContainer"
Orientation="Vertical">
<TabControl x:Name="tabContainerContainer"
TabStripPlacement="Bottom"
Height="{Binding Path=ActualHeight,
RelativeSource={RelativeSource Mode=FindAncestor,
AncestorType={x:Type StackPanel}}}"
Width="{Binding Path=ActualWidth,
RelativeSource={RelativeSource Mode=FindAncestor,
AncestorType={x:Type StackPanel}}}">
</TabControl>
</StackPanel>
型
我尝试了几种不同的方法,但我似乎不能让垂直滚动条显示它的全宽。它的水平边界似乎超过了容器的宽度。
如何使其正确显示?
1条答案
按热度按时间t0ybt7op1#
不要设置
TabControl
和UserControl
的Width
(或Height
)。它们无论如何都会拉伸以填充父StackPanel
:字符串
您也可以尝试将
Margin
或Padding
添加到UserControl
:型