Val*_*ale 17 c# wpf scroll .net-4.0
我创建了4列简单的DataGrid,它超出了DataGrid的范围,并且没有显示水平滚动条.我尝试将宽度设置为每列,但没有任何改变.这是我的XAML:
<Window x:Class="WPFTest.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 Height="200" Width="200" HorizontalScrollBarVisibility="Visible">
<DataGrid.Columns>
<DataGridTextColumn Header="Column 1" />
<DataGridTextColumn Header="Column 2" />
<DataGridTextColumn Header="Column 3" />
<DataGridTextColumn Header="Column 4" />
</DataGrid.Columns>
</DataGrid>
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)
这就是我得到的:

我也尝试用ScrollViewer包装DataGrid.没有.如何显示滚动条?
小智 19
我也非常不喜欢这种行为,因为我使用标题过滤器.我的"hack"比上面容易得多:简单地将数据网格放在一个新的ScrollViewerwith HorizontalScrollBarVisibility=Auto和VerticalScrollBarVisibility=Disabled(DataGrid已经处理好一个).像这样:
<ScrollViewer HorizontalScrollBarVisibility="Auto"
VerticalScrollBarVisibility="Disabled">
<DataGrid>
...
</DataGrid>
</ScrollViewer>
Run Code Online (Sandbox Code Playgroud)
当然,这是对页面的更多控制,但比上面的hacky代码容易得多.到目前为止,我还没有找到一种方法让数据网格自动执行此操作.
此解决方案的副作用可能是隐藏垂直滚动条,直到您向右滚动.
| 归档时间: |
|
| 查看次数: |
23252 次 |
| 最近记录: |