グリッドにラップされたDataGridを含むWPFのusercontrolがあります。 UserControlはStackPanelでラップされたTabControlのメインアプリケーションウィンドウでホストされています。グリッドに含まれるWPF DataGridの垂直スクロールバーが全幅を表示しないのはなぜですか?
問題は、DataGridの垂直スクロールバーを完全に表示できないことです。それは、幅が1/2しか見えないように「クリップされた」状態になります。ここで
は私のユーザーコントロールの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>
私は縦スクロールバーに全幅を表示させることはできません。横幅がコンテナ幅を超えているようです。
正しく表示させるにはどうすればよいですか? https://stackoverflow.com/help/mcve:質問をするとき
おかげ
私は問題のよく分からないが、一般的に、私は避けるだろうStackPanelとScrollViewerを併用します。私にとっては、スクロールビューアの振る舞いに問題が生じることがよくあります。 – Bojje