问题描述
这是我的XAML代码:
<DockPanel Grid.Row="0" MaxWidth="2048" MinWidth="989" Width="Auto" x:Name="dockPanelGrid" Grid.Column="2" ScrollViewer.VerticalScrollBarVisibility="Auto" VerticalAlignment="top" Background="Red">
<DataGrid x:Name="GridData" MaxWidth="2048" IsReadOnly="True"
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Stretch"
IsSynchronizedWithCurrentItem="True"
SelectionMode="Extended"
SelectionUnit="FullRow"
Style="{StaticResource DataGridStatStyle}"
DockPanel.Dock="Left"
Margin="0"
ScrollViewer.CanContentScroll="false"
VirtualizingPanel.ScrollUnit="Item"
VirtualizingPanel.IsVirtualizingWhenGrouping="True"
EnableRowVirtualization="false"
EnableColumnVirtualization="False"
CanUserResizeColumns="False"
Loaded="GridData_Loaded">
</DataGrid>
</DockPanel>
我注意到,当我没有绑定到DataGrid的记录时,不显示最后一列,也不显示滚动条。如果我至少有一行,则一切正常。 为了确定DataGrid及其容器的大小,我编写了以下代码:
double antani = 0;
foreach (DataGridColumn col in GridData.Columns)
antani += col.ActualWidth;
if (antani > GridData.ActualWidth)
ScrollViewer.SetHorizontalScrollBarVisibility(dockPanelGrid,ScrollBarVisibility.Visible);
else
ScrollViewer.SetHorizontalScrollBarVisibility(dockPanelGrid,ScrollBarVisibility.Auto);
我看到antani(这是Datagrid的“实际”宽度)大于容器,但是我无法显示水平滚动条。有帮助吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)