WPF: Как получить разные шаблоны в зависимости от типа элемента списка? - PullRequest
1 голос
/ 06 июня 2010

Я слышал, что могу создать коллекцию смешанных типов и иметь разные шаблоны данных для каждого типа. Как это сделать для ListBox?

Ответы [ 2 ]

0 голосов
/ 07 июня 2010

И вам нужен класс, унаследованный от DataTemplateSelector, а затем переопределите метод SelectTemplate:

public class SomeTemplateSelector:DataTemplateSelector
{
    public override DataTemplate SelectTemplate(object item, DependencyObject container)
    {
        if(((YourDataContextClass)item).SomeLogic)
            return FirstTemplate;
        else
            return OtherTemplate;
    }
 }
0 голосов
/ 06 июня 2010

ItemTemplateSelector свойство ListBox сделано специально для этого.

...