Как извлечь новый класс из DataTemplate, а затем использовать его вместо DataTemplate? - PullRequest
2 голосов
/ 12 июня 2009

Как мне вывести новый класс из 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 голосов
/ 12 июня 2009

У меня сработало (хотя я не создал локальный тип). Я скопировал ваш код и должен был удалить пробел между local: и DerivedDataTemplate в объявлении XAML. В Blend 3 он даже не будет работать для меня, я не уверен насчет Blend 2.

...