[英]WPF Datagrid horizontal scrolling with only header data
我有一個WPF
Datagrid
,在初始階段我將為Datagrid
分配100列標題,但我無法水平滾動它以查看所有列標題。
DataGrid
沒有任何行, ItemSource
為null。 當我只有列標題(沒有行)時,如何實現水平滾動。
我將ItemSource
綁定到DataTable,它只有列標題而沒有行。
如何在此場景中滾動。
以下是此問題的解決方法對我DataTrigger
:只需將DataGrid
放入ScrollViewer
並創建DataTrigger
,以便在DataGrid
沒有項目時將ScrollViewer
的HorizontalScrollBarVisibility
設置為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.