我想在數據網格中只顯示15行並滾動以獲取其餘數據。意思我有一個datagrid高度是可變的,我想要這樣的東西 row height = datagrid height/15。如何修復顯示在datagrid中的行數?
回答
創建一個Border
,其中包含一個ScrollViewer
,其中包含DataGrid
。將DataGrid
的RowHeight
與MultiBinding
綁定到Border
的ActualHeight
和DataGrid
的ColumnHeaderHeight
。要檢索RowHeight
的值,請使用IMultiValueConverter
。
轉換器:
using System;
using System.Globalization;
using System.Windows.Data;
namespace XXX
{
public class HeightConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
double allHeight = (double)values[0];
double headerHeight = (double)values[1];
return (allHeight - headerHeight)/15;
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}
而且這裏的XAML:
<Border Name="YourBorder">
<ScrollViewer>
<DataGrid Name="YourGrid"
ItemsSource="{Binding Items}"
Padding="0"
Margin="0"
ColumnHeaderHeight="30">
<DataGrid.RowHeight>
<MultiBinding Converter="{StaticResource HeightConverter}">
<Binding Path="ActualHeight" ElementName="YourBorder"/>
<Binding Path="ColumnHeaderHeight" ElementName="YourGrid"/>
</MultiBinding>
</DataGrid.RowHeight>
<DataGrid.Columns>
<!-- YOUR COLUMNS TEMPLATES - don't put fixed height here! -->
</DataGrid.Columns>
</DataGrid>
</ScrollViewer>
</Border>
Items
:一個模擬的集合,我測試這個解決方案中創建。
ColumnHeaderHeight
:你必須設置它或它將是NaN
。我設置了30',因爲它看起來適合正常的標題文本,但如果您有自定義標題,請自行檢查。
當您拉伸窗口時,您會看到行的大小調整,因此它們始終保持可見狀態,其他可通過滾動條到達。
希望這是你正在尋找。
這個[問答](http://stackoverflow.com/questions/23905923/wpf-datagrid-actual-columnheaderheight)顯示瞭如何找到實際的標題高度。我在完全相同的情況下使用它 – ASh
我得到了一個解決方案,我只是在datagrid_loaded事件中添加了幾行代碼。
private void dataGridXX_Loaded(object sender, RoutedEventArgs e)
{
dataGridXX.RowHeight = dataGridXX.RenderSize.Height/15;
}
首先,如果DataGrid的標題佔據一部分高度(我的解決方案),則解決方案不起作用。其次,如果調整窗口大小,RowHeight不會相應地修改(我的解決方案)。 –
- 1. C#如何修復在RichTextBox中顯示的運行數據
- 2. 我如何顯示DataGrid中的單行DataGrid中的多個行
- 3. 在DataGrid中顯示行號
- 4. 如何在Flex中顯示mx Datagrid行中的工具提示?
- 5. 在Flex DataGrid中顯示覆選框列
- 6. 在DataGrid中突出顯示SelectedItem的行
- 7. 顯示數據修復
- 8. 如何顯示DataGrid中的分組數據? - 摘要行
- 9. 如何修復Rainmeter皮膚顯示%的?
- 10. 如何在android中創建DataGrid顯示?
- 11. 修改DataGrid的顯示方式
- 12. 如何在php中顯示datagrid中的單個數據
- 13. ASP.NET在Datagrid行中顯示/隱藏段
- 14. TextFrapping DataGrid在WPF中只顯示2行
- 15. 在datagrid中分組 - 行不顯示
- 16. 如何顯示在WPF Datagrid的
- 17. 修改Silverlight DataGrid中的父數據行
- 18. 如何修復與Java顯示代碼
- 19. 如何在datagrid行詳細信息中顯示部分文本?
- 20. 如何在VB6.0中將數據從DataGrid顯示到TextField中?
- 21. WpfToolkit DataGrid:突出顯示修改後的行
- 22. 在datagrid中顯示數據集?
- 23. 在datagrid中顯示XML數據
- 24. 在DataGrid中顯示二維數組
- 25. 在winforms datagrid中顯示分層數據?
- 26. 在silverlight datagrid中顯示xml數據,vb.net
- 27. Datagrid - 沒有行顯示
- 28. dojo datagrid只顯示一行
- 29. 如何僅在yii2 gridview中顯示修復記錄
- 30. DataGrid不顯示在
DataGrid具有'RowHeight'屬性。設置並在必要時更新 – ASh
如何只顯示15行,其餘我可以通過滾動查看它們 – Imoum