Problemów z DataContext ciąg dalszy... Część pierwsza tutaj: link
Mój xaml:
<ContextMenu>
<MenuItem Header="TEST 1"
ItemsSource="{Binding Data.Thesises, Source={StaticResource proxy}}"
AlternationCount="{Binding Data.Thesises.Count, Source={StaticResource proxy}}"
HeaderTemplate="{x:Null}">
<MenuItem.Resources>
<Style TargetType="{x:Type MenuItem}">
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}{0}: {1}">
<Binding Path="(ItemsControl.AlternationIndex)" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type MenuItem}}" />
<Binding Path="Data.Thesises.Count" Source="{StaticResource proxy}"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</DataTemplate>
</Setter.Value>
</Setter>
<Setter Property="Command" Value="{Binding DataContext.InsertTextCommand, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ContextMenu}}}" />
</Style>
</MenuItem.Resources>
</MenuItem>
<MenuItem
Header="TEST 2"
Command="{Binding InsertTextCommand}" />
</ContextMenu>
Chciałabym, żeby elementy submenu utworzonego w MenuItem "TEST 1" wywoływały metodę InsertTextCommand. Niestety gdy klikam, to nic się nie dzieje. W okienku Output nie widzę żadnych komunikatów o problemach z binding, choć wcześniej tam były ;)
Gdy klikam na MenuItem "TEST 2" to komenda jest wywoływana.
Gdy podglądam w Live Visual Tree, to MenuItem "TEST 1" ma DataContext prawidłowy - tj. ustawiony na ViewModel. W Items tego MenuItem wyświetla się lista Thesises i elementy nie mają DataContext, tylko właściwości klasy Thesis.
Nie wiem, jak to rozumieć. Thesis nie ma też Headera, a jednak to się udaje ustawić... Może problem jest w czym innym, niż błędny DataContext?