0

这个问题与已发布的其他问题相似,但似乎没有一个提供适用于此的解决方案。

问题:尝试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"它工作正常。

感谢您的见解。

4

0 回答 0