им пытаются связать наблюдаемые коллекции (ключевые кадры), расположенных в элементах моей ListBox к ItemsSource моей DataTemplate (в наблюдаемой коллекции)XAML привязки ItemsSource внутри DataTemplate
<ListBox x:Name="lbTimeLines"
DataContext="{Binding MainViewport,Source={StaticResource Locator}}"
ItemsSource="{Binding AnimateableObjects}" SelectedIndex="{Binding selectedIndex}">
<ListBox.ItemTemplate >
<DataTemplate DataType="{x:Type obj:ObjectSettings }">
<cc:TimeLine x:Name="TL" Height="25"
ItemsSource="{Binding Path=KeyFrames}"<!-- here is the problem -->
CurrentFrame="{Binding LayerView.CurrentFrame,Source={StaticResource Locator},Mode=TwoWay}"
Width="{Binding LayerView.Globalwidth,Source={StaticResource Locator}}">
</cc:TimeLine>
</DataTemplate>
</ListBox.ItemTemplate>
однако это, кажется, приводит к ошибка
System.Windows.Data Error: 40 : BindingExpression path error: 'KeyFrames' property not found on 'object' ''TimeLineViewModel' (HashCode=2312607)'. BindingExpression:Path=KeyFrames; DataItem='TimeLineViewModel' (HashCode=2312607); target element is 'TimeLine' (Name='MainControl'); target property is 'ItemsSource' (type 'ObservableCollection`1')
не уверенны, почему, но он, кажется, ищет KeyFrames в ViewModel в Timeline вместо элементов ListBox
примечание: я использую такое же связывание с другой ListBox, это, однако, кажется, работает хорошо
<ListBox x:Name="lbLayers"
DataContext="{Binding MainViewport,Source={StaticResource Locator}}"
ItemsSource="{Binding AnimateableObjects}" SelectedIndex="{Binding selectedIndex}">
<ListBox.ItemTemplate>
<DataTemplate DataType="{x:Type obj:ObjectSettings }">
<StackPanel >
<Label Content="{Binding Name}" Height="25" Width="180"></Label>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
ничего плохого там. Ваш диагноз может быть неправильным. Я бы использовал такой инструмент, как Snoop или инспекторы пользовательского интерфейса 2015 года для изучения моделей представления и значений свойств элементов управления в этой части дерева. – Will
спасибо за ответ, я обновил свой вопрос, проблема, похоже, исчезла:/not shure, что вызвало это в первую очередь – Drumstig
Я настоятельно рекомендую вам удалить свое изменение и добавить его в качестве ответа ниже. После необходимого ожидания вы можете пометить его как решение. Обычно это делается в этой ситуации. – Will