如何从DataTemplate派生一个新类,然后用它代替DataTemplate?

时间:2009-06-12 09:51:59

标签: c# wpf xaml datatemplate

如何从DataTemplate派生一个新类,然后用它代替DataTemplate?

例如,在C#中:

public class DerivedDataTemplate : DataTemplate
{
}

然后在XAML中:

<local: DerivedDataTemplate DataType="{x:Type local:SomeType}">
    <Grid>
        ... UI here ...
    </Grid>
</local:DerivedDataTemplate>

当我尝试使用派生数据模板类时,会生成以下异常:

System.Windows.Markup.XamlParseException未处理 Message =“'Grid'对象无法添加到'DerivedDataTemplate'。'System.Windows.Controls.Grid'类型的对象无法转换为'System.Windows.FrameworkElementFactory'类型。

有没有人知道如何解决此异常并成功使用从DataTemplate派生的类?

1 个答案:

答案 0 :(得分:0)

它对我有用(虽然我没有创建本地类型)。我复制了你的代码,不得不在XAML声明中删除local:和DerivedDataTemplate之间的空格。在Blend 3中它甚至都不适合我,我不确定Blend 2。