В настоящее время я привязываюсь к ObservableCollection с использованием ICollectionView, myCollectionView.Содержимое этой коллекции выбирается из ComboBox.Каждый элемент коллекции, myCollectionItem, имеет дочерний элемент VisualBrush myVisualBrush, а кисть CurrentItem отображается на панели предварительного просмотра.
Элемент коллекции также является дочерним объектом myItemChild, который содержит ряд своих собственных свойств.которые используются для создания слайдера.Этот ползунок изменяет свойства на панели предварительного просмотра.
Это все работает, как и ожидалось.
Когда CurrentItem объекта CollectionView изменяется, панель предварительного просмотра корректно обновляется, но ползунок продолжает отображать myItemChild предыдущего CurrentItem.
Изменение в myItemChild не вызывается, как мне справиться с этимситуация?
Весьма вероятно, что я упустил что-то очевидное, поэтому все указатели оценили.
С уважением
Роб
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions>
<!-- Combo Box for selection of item-->
<ComboBox Grid.Row="0" ItemsSource="{Binding myCollectionView, Mode=TwoWay}" IsSynchronizedWithCurrentItem="True">
<ComboBox.ItemTemplate>
<DataTemplate DataType="{x:Type vm:myCollectionItem}" >
<StackPanel>
<Rectangle Height="40" Width="40" Fill="{Binding myVisualBrush}"/>
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<!-- Panel to preview item-->
<ContentControl Grid.Row="1" Content="{Binding myCollectionView/}">
<ContentControl.ContentTemplate>
<DataTemplate DataType="{x:Type vm:myCollectionItem}" >
<Rectangle Margin="20" Fill="{Binding myVisualBrush}" />
</DataTemplate>
</ContentControl.ContentTemplate>
</ContentControl>
<!-- Slider to edit item-->
<ContentControl Grid.Row="2" Content="{Binding myCollectionView/}">
<ContentControl.ContentTemplate>
<DataTemplate DataType="{x:Type vm:myCollectionItem}" >
<ContentControl Content="{Binding myItemChild}">
<ContentControl.ContentTemplate>
<DataTemplate DataType="{x:Type vm:myCollectionItemChild}" >
<StackPanel>
<Label Content="{Binding myValueLabel, Mode=OneWay}"/>
<Slider Value="{Binding myValue, Mode=TwoWay}" Maximum="{Binding myValueMax}" Minimum="{Binding myValueMin}"/>
</StackPanel>
</DataTemplate>
</ContentControl.ContentTemplate>
</ContentControl>
</DataTemplate>
</ContentControl.ContentTemplate>
</ContentControl>
</Grid>