以编程方式使用wpf在数据网格中添加用户控件时出现问题

时间:2018-11-16 06:48:22

标签: wpf data-binding datagrid

我已经创建了用户控件,并使用了后面的代码将其添加到数据网格中。对于用户控制,我创建了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);

问题是在将用户控件添加到grid后,其始终调用的参数少了构造函数,并且用户控件内的值变为空。当我以编程方式添加用户控件时,它首先调用参数构造函数,然后自动调用较少参数的构造函数。

如何解决此问题!

0 个答案:

没有答案