C# 以编程方式设置DataGridTemplateColumn CellTemplate

C# 以编程方式设置DataGridTemplateColumn CellTemplate,c#,wpf,xaml,wpfdatagrid,wpf-4.0,C#,Wpf,Xaml,Wpfdatagrid,Wpf 4.0,这个问题与其他已发布的问题类似,但似乎没有一个能提供在此有效的解决方案 问题: 尝试在运行时使用特定的DataTemplate创建DataGridTemplateColumn。 只需要在DataTemplate中添加一个复选框 由于各种原因,我无法在XAML中为这个应用程序执行此操作,而且我知道使用FrameworkElementFactory是不推荐的 以下是我所拥有的: string dt = "<DataTemplate xmlns="http://schemas.microsof

这个问题与其他已发布的问题类似,但似乎没有一个能提供在此有效的解决方案

问题: 尝试在运行时使用特定的DataTemplate创建
DataGridTemplateColumn
。 只需要在DataTemplate中添加一个复选框

由于各种原因,我无法在XAML中为这个应用程序执行此操作,而且我知道使用
FrameworkElementFactory
是不推荐的

以下是我所拥有的:

string dt = "<DataTemplate  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"  
xmlns:src="clr-namespace:WpfApplication40" > 
<CheckBox x:Name="dtCheckBox" Checked="CheckBox_Checked" /></DataTemplate>

 DataGridTemplateColumn tc1 = new DataGridTemplateColumn();
 DataTemplate datatemplate = (DataTemplate)System.Windows.Markup.XamlReader.Parse(dt);
 tc1.CellTemplate = datatemplate;
 dataGrid1.Columns.Add(tc1);
在运行时,我不断收到一个消息框:

“无法从文本“CheckBox\u Checked”创建“Checked”。

显然,它无法找出
复选框\u Checked
处理程序在类中的位置,但是为什么呢

如果我取出
Checked=“CheckBox\u Checked”
它工作正常


感谢您的见解。

是否选中了
是否需要
bool
值?我的印象是,
Checked
表示是否选中了
复选框
默认值。请尝试
true
false
。当然我可能完全错了。
Checked
是一个寻找类方法的事件(RoutedEventHandler)是的。。。只需阅读文档即可。我在想
isChecked
。我道歉。正在寻找可行的答案=)
 public void CheckBox_Checked(object sender, RoutedEventArgs e){}