Witam przy pomocy HierarchicalDataTemplate utworzyłem sobie taką strukturę:
<TreeView ItemsSource="{Binding League}">
<!-- Conference teamplate -->
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Teams}">
<TextBlock Foreground="Red" Text="{Binding Name}" />
<Button Name="Wyslij" Command="C_WYSLIJ" />
<HierarchicalDataTemplate.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</HierarchicalDataTemplate.ItemTemplate>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
W powyższym kodzie możecie zauważyć że jest na pewnym poziomie mam kontrolkę BUTTON i przypisane do niej polecenie COMMAND. I tu pojawia się problem bo w obsłudze commanda chce obsłużyć obiekt klasy, do którego należy treeviewitem na którym jest umiejscowiony ten button.
Próbowałem z wydobyciem poziomu np. za pomocą takiego kodu
Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type TreeViewItem}, AncestorLevel=2}, Path=DataContext.Name}
ale zwraca on mi tylko wartość dla "Name" a ja potrzebuje referencji do obiektu (kombinowałem też z poziomami ancestora), jak zamieniłem x:Type na x:reference to program mi się sypał.
Jak pobrać referencje do obiektu przy korzystaniu z commandbindinga, do którego to obiektu jest przypisana kontrolka button (Dla danego elementu drzewa) ?