这个问题与已发布的其他问题相似,但似乎没有一个提供适用于此的解决方案。
问题:尝试DataGridTemplateColumn
在运行时使用特定的 DataTemplate 创建一个。只想在 DataTemplate 中有一个 CheckBox。
由于各种原因,我无法在 XAML 中为此应用程序执行此操作,而且我知道FrameworkElementFactory
不推荐使用 using。
这是我所拥有的:
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"
它工作正常。
感谢您的见解。