2009-06-12 21 views
1

如何從DataTemplate派生一個新類然後用它代替DataTemplate?如何從DataTemplate派生一個新類,然後用它代替DataTemplate?

例如,在C#:

public class DerivedDataTemplate : DataTemplate 
{ 
} 
在XAML

然後:

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

當我嘗試使用產生的後續例外我得出的數據模板類:

系統。 Windows.Markup.XamlParseException未處理 Message =「'Grid'對象不能添加到'DerivedDataTemplate'中。'System.Windows.Controls.Grid'類型的對象不能被轉換d鍵入'System.Windows.FrameworkElementFactory'。

有誰知道如何解決這個異常,併成功地使用從DataTemplate派生的類?

+0

出於好奇,爲什麼你從DataTemplate繼承? – micahtan 2009-06-12 20:25:31

+0

我基本上想要能夠擁有一種特殊的數據模板,可以將額外的數據附加到資源搜索和模板實例化中,並使用內置的規則。我以一種不同的方式結束了這一過程 - 但從DataTemplate繼承它會更簡單。 – 2009-06-15 08:31:19

回答

0

它爲我工作(雖然我沒有創建一個本地類型)。我複製了你的代碼,並且必須在XAML聲明中刪除local:和DerivedDataTemplate之間的空格。在混合3它甚至不會跑我,我不知道關於混合2.