Я создал пользовательский элемент управления, который содержит ListView с пользовательским ItemsPanelTemplate.
<UserControl x:Class="..."
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Name="thisUserControl">
<ListView ItemsSource="{Binding Source={StaticResource cvs}}"
Name="mainListView">
<ListView.GroupStyle>
<GroupStyle>
...
</GroupStyle>
</ListView.GroupStyle>
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<cd:TimeLinePanel UnitsPerSecond="{Binding ElementName=thisUserControl,Path=DataContext.UnitsPerSecond}" Start="{Binding ElementName=thisUserControl, Path=DataContext.Start}"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
</ListView>
DataContext из UserControl имеет два свойства Start и UnitsPerSecond. Поскольку я использую группы, я не могу просто написать
Start={Binding Path=.Start}
Таким образом, я использовал код выше. Но если я изменю привязку Start к этому, я получу исключение:
VisualTree of ItemsPanelTemplate должен быть одним элементом.
Очевидно, что ItemsPanelTemplate содержит только один элемент.
Так в чем может быть проблема? Моя пользовательская панель не создает никаких элементов. Это просто устраивает их.