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

Мы пишем очень специализированный ItemsControl, который фактически имеет три ContentPresenter на "ряд", каждый из которых привязан к другому объекту (подумайте о сетке бедняка) вместо более распространенного, такого как ListBox.

Теперь в ListBox, если вы явно не укажете ни ItemTemplate, ни ItemTemplateSelector, кажется, есть какой-то внутренний селектор, который применяет шаблон, основываясь исключительно на типе данных. Однако наши ContentPresenter их не подхватывают. Мы также попробовали переключить их на ContentControl, но это тоже не помогло.

Теперь я знаю, что могу просто написать свой собственный DataTypeTemplateSelector, который делает это, но мне интересно, не является ли эта функциональность уже "заложенной" где-то, поскольку она используется в очень многих ItemsControl (ListBox, TreeView, ComboBox', DataGrid и др. ) и согласно этой статье MSDN...

http://msdn.microsoft.com/en-us/library/ms742521.aspx

... это должно работать по умолчанию! Но опять же, это не так.

Вот наш (псевдо) код...



    

    
        
    

    
        
    

    
        
    








Итак... кто-нибудь хочет попробовать, почему нет?

8
задан MarqueIV 27 September 2011 в 19:15
поделиться