wpf - 以编程方式使用 wpf 在数据网格中添加用户控件时出现问题
问题描述
我创建了用户控件并使用后面的代码添加到数据网格。对于用户控件,我创建了 2 个构造函数来传递数据以进行显示。
用户控件构造函数:
public OverlayControlView()
{
InitializeComponent();
}
public OverlayControlView(string value, List<Function> functionList)
{
InitializeComponent();
OverlayValue = value;
OverlayMenuItem = functionList;
}
将用户控件添加到数据网格:
var overlayControlView = new OverlayControlView(caption, functionList);
FrameworkElementFactory factory = new FrameworkElementFactory(overlayControlView.GetType());
var dataTemplate = new DataTemplate(typeof(DependencyObject));
dataTemplate.VisualTree = factory;
dataGridTemplateColumn.CellTemplate = dataTemplate;
dataGrid.Columns.Add(dataGridTemplateColumn);
问题是在将用户控件添加到网格后,它总是调用无参数构造函数,并且用户控件内的值变为空。当我以编程方式添加用户控件时,它首先调用参数构造函数,然后它会自动调用无参数构造函数。
如何解决这个问题!
解决方案
推荐阅读
- swift - NSBrowser 快速拖放
- java - GraphQL,如何返回字节[]的类型
- powershell - 为什么在添加 powershell 字符串和数组时操作数的顺序很重要?
- spring-boot - 将 Spring Boot 属性注入 Kotlin Singleton / object
- php - Wordpress Rest:ACF 到 REST API 过滤器致命错误
- java - 从 unwrapped() 获得的 java ArrayList 转换为 Scala 列表
- php - 如何仅使用一个 PHP 将数据传递到不同的 HTML 页面?
- javascript - 从 Google 电子表格发送带有脚本的电子邮件 - 需要循环
- r - R sample.split(large vector) 需要永远
- node.js - `npm install` 总是从 package.json 安装所有东西