此问题与已发布的其他问题类似,但似乎没有提供适用于此处的解决方案。
问题:
尝试使用特定的DataTemplate在运行时创建DataGridTemplateColumn
。
只想在DataTemplate中使用CheckBox。
由于各种原因,我不能在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);
在包含类中:
public void CheckBox_Checked(object sender, RoutedEventArgs e){}
在运行时,我不断收到一个消息框:
"Failed to create a 'Checked' from the text 'CheckBox_Checked'".
显然它无法弄清楚CheckBox_Checked
处理程序在类中的位置,但为什么?
如果我取出Checked="CheckBox_Checked"
它就可以了。
感谢您的见解。