Winforms上托管的WPF Datagrid不显示复选框

时间:2013-10-10 20:07:09

标签: c# .net wpf winforms datagrid

我有WPF数据网格用户控件,我必须在Winforms中托管它。 WPF Datagrid控件嵌入在usercontrol中。我有一个winforms应用程序,其中包含元素主机控件。元素主机的子代是WPF用户控件(具有数据网格的用户控件)。 在wpf datagrid上,我有一个每行的复选框(在加载行时动态创建)。

当在winforms中加载wpf usercontrol时,(在元素主机上)我可以获取行,但不能获取复选框。复选框可见性是可见的,我可以在行中看到一些占位符。

我错过了什么吗?我是否需要在wpf datagrid上以不同方式声明复选框,以便它在winforms上也可见?

这是复选框创建的代码

DataGridTemplateColumn col1 = new DataGridTemplateColumn();
col1.Header = "Select Columns";
col1.Width = 30;
FrameworkElementFactory factory1 = new FrameworkElementFactory(typeof(CheckBox));
Binding b1 = new Binding("IsSelected");
b1.Mode = BindingMode.TwoWay;
factory1.SetValue(CheckBox.IsCheckedProperty, b1);
factory1.AddHandler(CheckBox.CheckedEvent, new RoutedEventHandler(chkSelect_Checked));
factory1.AddHandler(CheckBox.UncheckedEvent, new RoutedEventHandler(chkSelect_UnChecked));
DataTemplate cellTemplate1 = new DataTemplate();
cellTemplate1.VisualTree = factory1;
col1.CellTemplate = cellTemplate1;
col1.CellStyle = new Style();
col1.Visibility = Visibility.Visible;
dgGrid.Columns.Add(col1);

0 个答案:

没有答案