У меня есть ListView, связанный с ObservableCollection CustomerContacts.Пока это прекрасно работает, но, будучи новичком в этом, я не уверен, как сделать следующую часть.Каждый контакт с клиентом имеет несколько типов контактов, которые я хочу отображать под своим именем.
Так что внутри CustomerContacts у меня есть еще одна наблюдаемая коллекция ContactTypes.
Вот мой текущий шаблон данных:
<DataTemplate x:Key="iconTemplate">
<DockPanel Height="133" Width="150">
<Image Source="/Tracks%203.5;component/Images/NoPic.png" Height="25" Width="25" Margin="1,0" />
<TextBlock DockPanel.Dock="Top" Text="{Binding FullName}" Margin="5,3,5,0" FontWeight="Bold" HorizontalAlignment="Left" />
<<TextBlock Text="{Binding Title}" Margin="5,0,5,3" HorizontalAlignment="Left" />>
</DockPanel>
</DataTemplate>
И вот моя первая попытка поместить просмотр списка внутри:
<DataTemplate x:Key="iconTemplate">
<DockPanel Height="133" Width="150">
<Image Source="/Tracks%203.5;component/Images/NoPic.png" Height="25" Width="25" Margin="1,0" />
<TextBlock DockPanel.Dock="Top" Text="{Binding FullName}" Margin="5,3,5,0" FontWeight="Bold" HorizontalAlignment="Left" />
<ListView ItemsSource="{Binding ContactTypes}">
<ListView.Template>
<ControlTemplate TargetType="ItemsControl">
<ItemsPresenter/>
</ControlTemplate>
</ListView.Template>
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Margin="3,0,0,0" HorizontalAlignment="Center" Text="{Binding Path=ContactType}"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<!--<TextBlock Text="{Binding Title}" Margin="5,0,5,3" HorizontalAlignment="Left" />-->
</DockPanel>
</DataTemplate>
Я хочу заменить TextBlock, связанный с Title, на ListView / ListBox / ItemsControl, связанный с элементами в ContactTypes.
Несколько похоже на этот вопрос: <<a href="/3576985/wpf-privyazka-k-spisku-vnutri-klassa"> WPF: привязка к списку внутри класса >, но без всего кода.Было бы неплохо иметь его в XAML.