簡體   English   中英

WPF Datagrid水平滾動,只有標題數據

[英]WPF Datagrid horizontal scrolling with only header data

我有一個WPF Datagrid ,在初始階段我將為Datagrid分配100列標題,但我無法水平滾動它以查看所有列標題。

DataGrid沒有任何行, ItemSource為null。 當我只有列標題(沒有行)時,如何實現水平滾動。

我將ItemSource綁定到DataTable,它只有列標題而沒有行。

如何在此場景中滾動。

以下是此問題的解決方法對我DataTrigger :只需將DataGrid放入ScrollViewer並創建DataTrigger ,以便在DataGrid沒有項目時將ScrollViewerHorizontalScrollBarVisibility設置為Visible

<ScrollViewer VerticalScrollBarVisibility="Disabled">
    <ScrollViewer.Style>
        <Style TargetType="ScrollViewer">
            <Style.Triggers>
                <DataTrigger Binding="{Binding ElementName=dataGrid, Path=HasItems}" Value="False">
                    <Setter Property="HorizontalScrollBarVisibility" Value="Visible"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </ScrollViewer.Style>
    <DataGrid Name="dataGrid"/>
</ScrollViewer>

不幸的是,使用DataGrid默認樣式是不可能的,您必須覆蓋模板並創建派生到主要模板的自定義網格。 在這里你可以找到更多細節。

正如ArsenMkrt所說,這是不可能的。 但是,我認為您可以在DataTable添加一行,但在此之后,您可以將其相應的DatagridRow的Visibility設置為隱藏。

當您的DataTable填充實際數據時,只需清除DataTable.Rows。

你沒有。 你必須有一排。

將ItemsSource更改為默認為null。

如果允許添加行,則可以默認為空列表。

如果您不允許添加行,則需要默認為一個項目的列表。

List<object> olist = new List<object>();
olist.add(new object());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM