Powiązanie przodka nie działa WPF

Mam już TreeView, który jest modyfikowany, aby wyświetlać obrazy przed tekstem. Więc mój zmodyfikowany TreeViewItem nazywa się ImagedTreeViewItem. Ten ImagedTreeViewItem ma właściwość, która zawiera obraz do wyświetlenia przez Image-Control. ImagedTreeViewItem ma także właściwość, która sprawdza, czy ImagedTreeViewItem-Icon jest ikoną folderu. Ta właściwość ma nazwę „IsFolder”.

Mój problem to:I'm Binding the Ancestors-Property (here: The ImagedTreeViewItem) aby uzyskać potrzebne dane. Dla mojego Image-Control działa idealnie, ponieważ Menu kontekstowe dodałem później. Nie rozumiem dlaczego, ponieważ zasadniczo to samo polecenie.

Oto kod mojego „ImagedTreeView” w XAML:

<TreeView.Resources>
                <Style TargetType="{x:Type myClasses:ImagedTreeViewItem}">
                    <Setter Property="HeaderedItemsControl.HeaderTemplate">
                        <Setter.Value>
                            <DataTemplate>
                                <StackPanel Orientation="Horizontal">
<!-- Here it works!!! -->
                                    <Image Height="16" Source="{Binding Path=Icon, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type myClasses:ImagedTreeViewItem}}}" Stretch="Fill" Width="16" />
                                    <TextBlock Margin="5,0" Text="{Binding}" />
                                    <StackPanel.ContextMenu>
                                        <ContextMenu>
<!-- Here not :( -->
                                            <MenuItem Command="my:ImagedTreeView.AddFolder" Header="Add Folder"
                                                              IsEnabled="{Binding Path=IsFolder,
                                                              RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type myClasses:ImagedTreeViewItem}}}">
                                                <MenuItem.Icon>
                                                    <Image Source="folderadd16.png" />
                                                </MenuItem.Icon>
                                            </MenuItem>
                                            <!-- ... -->
                                        </ContextMenu>
                                    </StackPanel.ContextMenu>
                                </StackPanel>
                            </DataTemplate>
                        </Setter.Value>
                    </Setter>
                </Style>
            </TreeView.Resources>

Myślę, że drugie wiązanie w tym kodzie nie może znaleźć przodka. Okno wyjściowe Visual Studio mówi mi to samo:

System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='....ImagedTreeViewItem', AncestorLevel='1''. BindingExpression:Path=IsFolder; DataItem=null; target element is 'MenuItem' (Name=''); target property is 'IsEnabled' (type 'Boolean')

questionAnswers(1)

yourAnswerToTheQuestion