public partial class SourceAllocateReportView : ClientPluginBase
{
private SourceAllocateReportVM vm = new SourceAllocateReportVM();
public SourceAllocateReportView()
{
InitializeComponent();
this.DataContext = vm;
}
/// <summary>
/// 细节行高度宽度设置
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void mainDataGrid_LoadingRowDetails(object sender, DataGridRowDetailsEventArgs e)
{
DataGridRow row = e.Row;
if (row != null)
{
//row.Background = new SolidColorBrush(Color.FromRgb(210,221,247));
if (e.DetailsElement != null && e.DetailsElement.FindChild<MetroDataGrid>("detailGrid") != null)
{
MetroDataGrid grid = e.DetailsElement.FindChild<MetroDataGrid>("detailGrid") as MetroDataGrid;
if (grid != null)
{
grid.Background = new SolidColorBrush(Color.FromRgb(210, 221, 247));
e.DetailsElement.Height = 30 * grid.Items.Count;
foreach (var col in grid.Columns)
{
var find = this.mainDataGrid.Columns.FirstOrDefault(p => p.Header.ToString() == col.Header.ToString());
if (find != null)
{
Binding widthBd = new Binding();
widthBd.Source = find;
widthBd.Mode = BindingMode.TwoWay;
widthBd.Path = new PropertyPath(DataGridColumn.WidthProperty);
BindingOperations.SetBinding(col, DataGridTextColumn.WidthProperty, widthBd);
//col.Width = find.ActualWidth;
}
}
}
WPF之DataGrid点击行展开和隐藏行细节
最新推荐文章于 2024-08-01 16:32:47 发布
本文介绍了如何在WPF中使用DataGrid实现点击行展开以显示详细信息,并展示了如何隐藏行细节。通过自定义DataGrid模板,绑定到数据项的详细数据,实现了点击行变化的交互效果。
摘要由CSDN通过智能技术生成