我需要一些帮助,因为我遇到了数据网格中的水平滚动条。
我有一个TabControl并且我将一个DataGrid添加到TabItem,问题是水平ScrollBar永远不可见,即使我设置ScrollViewer.HorizontalScrollBarVisibility="Visible"
或者我将DataGrid放入网格
<TabControl Margin="6,0,6,0" >
<TabItem>
<DataGrid ItemsSource="{Binding}" AutoGenerateColumns="False" IsReadOnly="True" HorizontalAlignment="Center" VerticalAlignment="Center" SelectionMode="Extended">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding BlaBla}" Header="BlaBlaBla" />
...
</DataGrid.Columns>
</DataGrid>
</TabItem>
...
有人可以帮我指出问题吗? 感谢。
修改:
以下是重现相同问题的示例代码,垂直滚动条正确显示但不显示水平滚动条
的Xaml:
<Window x:Class="BlaBla.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid>
<DataGrid Name="datagrid" ItemsSource="{Binding}" AutoGenerateColumns="False" IsReadOnly="True" HorizontalAlignment="Center" VerticalAlignment="Center" >
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Date}" Header="Date" />
<DataGridTextColumn Binding="{Binding Path=User}" Header="User"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
</Window>
代码隐藏:
datagrid.DataContext = this.SomeDataTable;
如果我在控件周围<ScrollViewer HorizontalScrollBarVisibility="Visible">
答案 0 :(得分:1)
非常简单,添加ScrollViewer并设置Auto forHorizontalScrollBarVisibility。试试这个。
<Grid>
<TabControl>
<TabItem Header="Hello">
<ScrollViewer HorizontalScrollBarVisibility="Auto">
<DataGrid >
<DataGrid.Columns>
<DataGridTextColumn Header="Name" />
<DataGridTextColumn Header="Name" />
<DataGridTextColumn Header="Name" />
<DataGridTextColumn Header="Name" />
<DataGridTextColumn Header="Name" />
<DataGridTextColumn Header="Name" />
<DataGridTextColumn Header="Name" />
<DataGridTextColumn Header="Name" />
<DataGridTextColumn Header="Name" />
<DataGridTextColumn Header="Name" />
<DataGridTextColumn Header="Name" />
<DataGridTextColumn Header="Name" />
<DataGridTextColumn Header="Name" />
<DataGridTextColumn Header="Name" />
</DataGrid.Columns>
</DataGrid>
</ScrollViewer>
</TabItem>
<TabItem Header="Hello2">
</TabItem>
<TabItem Header="Hello3">
</TabItem>
</TabControl>
</Grid>
答案 1 :(得分:0)
好的,我解决了这个问题,但我不知道它为什么会有这种行为。 我不得不将滚动查看器的样式放在父窗口的资源上,否则它不显示水平滚动条而只显示垂直滚动条。
如果有人知道为什么我会很高兴知道这个解释。