当数据为空且标题不适合屏幕时,水平滚动条不显示在数据网格上

时间:2015-10-27 13:39:26

标签: c# xaml

我尝试了以下内容:

ScrollViewer.CanContentScroll="True"
ScrollViewer.HorizontalScrollBarVisibility="Visible"

但它似乎不起作用。

2 个答案:

答案 0 :(得分:0)

必须有可能这样做,因为Extended WPF Toolkit已经做到了!

让我们假设您有例如这堂课:

public class ExampleClass
{
    public int LongPropertyNameA;
    public int LongPropertyNameB;
    public int LongPropertyNameC;
    public int LongPropertyNameD;
    public int LongPropertyNameE;
    public int LongPropertyNameF;
}

正常的方法如下: Data Grid
标题是隐藏的。 XAML代码看起来像像这样:

<busGeneratorMvvm:CustomDataGrid ItemsSource="{Binding YourData}" IsReadOnly="True" />

当您使用WPT Toolkit DataGrid库(称为Xceed.Wpf.DataGrid.dll)时,网格看起来像您想要的滚动条: enter image description here
XAML代码看起来像像这样:

<xcdg:DataGridControl ItemsSource="{Binding YourData}" >

其中xcdg是使用此XAML代码在Window标记中定义的命名空间:

<Window ...
        xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
        ...
    >

结论:
如果您想轻松下载Xceed WPF Toolkit并使用DataGridControl

  • 从网站下载.dll(在互联网上搜索免费版本)
  • 将.dll添加到项目的引用
  • 使用并享受DataGridControl

希望它有所帮助!

答案 1 :(得分:0)

以下解决方案将有效。由于列表框宽度设置为datagrid,因此滚动条将是可见的。

<ScrollViewer HorizontalScrollBarVisibility="Auto" CanContentScroll="True">
            <Grid>
                <ListBox Width="{Binding ElementName=myGrid,Path=ActualWidth}"></ListBox>
                <DataGrid Name="myGrid"></DataGrid>
            </Grid>

        </ScrollViewer>