У меня есть список, связанный с наблюдаемой коллекцией аудио (пользовательский класс). Класс Audio имеет два свойства: DisplayText (string) и свойство с именем TarpIds (Observable Collection of Integer). Мне нужно разрешить пользователю изменять TarpID в поле со списком для каждого отображаемого элемента списка и ловить изменение выбора.
Я создал DataTemplate, который стилизует свойство DisplayText из объекта Audio и добавляет ComboBox для отображения доступных TarpID для этого аудио (они являются динамическими и уникальными для каждого аудио). DisplayText прекрасно работает, но я не могу получить TarpID для отображения в ComboBox.
Вот что у меня есть, и спасибо за любую помощь. К вашему сведению, я установил ItemSource во время выполнения, который связывает ListUploadAudio с наблюдаемой коллекцией аудио.
<Border BorderBrush="Red" Background="WhiteSmoke" CornerRadius="8">
<Border.Resources>
<DataTemplate x:Key="UploadLayout" DataType="Audio">
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding Path=DisplayText}"
FontWeight="Bold" Foreground="Blue">
</TextBlock>
<ComboBox x:Name="ListBoxTarpIDs"
ItemsSource="{Binding Path=TarpIds}">
</ComboBox>
</StackPanel>
</DataTemplate>
</Border.Resources>
<ListBox x:Name="ListUploadAudio" BorderBrush="Transparent"
Background="Transparent" Width="230" Margin="10"
Height="200" IsSynchronizedWithCurrentItem="True" SelectionMode="Multiple"
ItemTemplate="{DynamicResource UploadLayout}">
</ListBox>
</Border>