I have an ItemControl as shown below. Basically, I have a list of editors (EditorList), and I need hyperlinks for each. However, the open command property (OpenEditorCommand) is at the same level as the list of editors. How can I refer to this property when the context is set to an item in the list. I tried working with the RelativeSource method, but it is too confusing for me to understand. Am I on the right track?
<ItemsControl ItemsSource="{Binding EditorList}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Margin="2,6" HorizontalAlignment="Center">
<Hyperlink Command="{Binding RelativeSource={RelativeSource AncestorType=ItemsControl, AncestorLevel=2, Mode=FindAncestor}, Path=OpenEditorCommand}" CommandParameter="{Binding Name}">
<StackPanel>
<Image Source="{Binding Image}" Width=32/>
<TextBlock Text="{Binding Path=Name}"/>
</StackPanel>
</Hyperlink>
</TextBlock>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
source
share