自定义列的WPF Datagrid标头绑定无法正常工作
我正在尝试为列标题创建带有标签和组合框的自定义列。 第一次正确加载网格时。单击按钮,我更改了Datagrid的ITM源。我看到datagrid的单元格得到更新,但没有看到标题。我还看到加载的Datagrid_没有被调用。调试时,我发现对于Binding对象,我提供了绑定路径,但是对于header,我提供了源,因此header不会得到更新。如何为标头提供路径,使其与绑定类似 customBoundColumn类如下所示:自定义列的WPF Datagrid标头绑定无法正常工作,wpf,mvvm,binding,datagrid,Wpf,Mvvm,Binding,Datagrid,我正在尝试为列标题创建带有标签和组合框的自定义列。 第一次正确加载网格时。单击按钮,我更改了Datagrid的ITM源。我看到datagrid的单元格得到更新,但没有看到标题。我还看到加载的Datagrid_没有被调用。调试时,我发现对于Binding对象,我提供了绑定路径,但是对于header,我提供了源,因此header不会得到更新。如何为标头提供路径,使其与绑定类似 customBoundColumn类如下所示: public class CustomBoundColumn : Data
public class CustomBoundColumn : DataGridBoundColumn
{
public string TemplateSelectorName { get; set; }
protected override FrameworkElement GenerateElement(DataGridCell cell, object dataItem)
{
var binding = new Binding(((Binding)Binding).Path.Path);
binding.Source = dataItem;
var content = new ContentControl();
content.ContentTemplateSelector =(DataTemplateSelector)cell.FindResource(TemplateSelectorName);
content.SetBinding(ContentControl.ContentProperty, binding);
return content;
}
protected override FrameworkElement GenerateEditingElement(DataGridCell cell, object dataItem)
{
return GenerateElement(cell, dataItem);
}
}
检查这是否可以帮助您:
在将datagrid头与ViewModel绑定时,我也遇到了同样的问题。这是一个基于xaml的解决方案。第一次绑定对我来说很合适。但一旦我更改了itemssource,问题就产生了。[链接]:这说明了确切的问题
public class CustomBoundColumn : DataGridBoundColumn
{
public string TemplateSelectorName { get; set; }
protected override FrameworkElement GenerateElement(DataGridCell cell, object dataItem)
{
var binding = new Binding(((Binding)Binding).Path.Path);
binding.Source = dataItem;
var content = new ContentControl();
content.ContentTemplateSelector =(DataTemplateSelector)cell.FindResource(TemplateSelectorName);
content.SetBinding(ContentControl.ContentProperty, binding);
return content;
}
protected override FrameworkElement GenerateEditingElement(DataGridCell cell, object dataItem)
{
return GenerateElement(cell, dataItem);
}
}