Я использую Linq To Sql для заполнения списка с помощью сегментных объектов, где создан сегмент, созданный конструктором/порожденный ORM классом.
<Window x:Class="ICTemplates.Window1"
...
xmlns:local="clr-namespace:ICTemplates"
Title="Window1" Height="300" Width="300">
<Window.Resources>
<DataTemplate x:Key="MyTemplate">
<!-- <DataTemplate DataType="x:Type local:Segment"> -->
// some stuff in here
</DataTemplate>
</Window.Resources>
<ListView x:Name="tvwSegments" ItemsSource="{Binding}" ItemTemplate="{StaticResource MyTemplate}" MaxHeight="200"/>
// code-behind
var queryResults = from segment in tblSegments
where segment.id <= iTemplateSid
select segment;
tvwSegments.DataContext = queryResults;
Это работает.
Однако, если я использовал шаблон типизированных данных (заменяя x: Key атрибутом DataType на шаблоне, все элементы отображаются с помощью ICTemplates.Segment
(возвращаемое значение ToString())
Понятие заключается в том, что он должен автоматически подбирать шаблон данных, если тип совпадает. Кто-нибудь может заметить ошибку здесь?