尝试访问自定义列表视图上下文菜单的数据上下文时绑定找不到源

Binding cannot find source when trying to access the datacontext of a custom listview contextmenu

我遇到了与 ContextMenu for ListViewItem only 非常相似的问题,但解决方案似乎对我的情况不起作用。

<GroupBox Header="PlayOffs" Grid.Row="2" Grid.Column="0">
    <StackPanel Orientation="Vertical" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
        <ScrollViewer VerticalScrollBarVisibility="Auto">
            <ListView Grid.Column="0" ItemsSource="{Binding PlayoffSeries}" ItemTemplate="{StaticResource SeriesTemplate}">
                <ListView.Resources>
                   <ContextMenu x:Key="cm">
                       <MenuItem Header="SetLive" Click="SetSeriesLive"/>
                       <MenuItem Header="Start" IsEnabled="{Binding Path=DataContext.CanStart, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ListView}}" Click="StartSeries"/>
                   </ContextMenu>
                </ListView.Resources>
                <ListView.ItemContainerStyle>
                    <Style TargetType="{x:Type ListViewItem}">
                        <Setter Property="HorizontalAlignment" Value="Stretch"/>
                        <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
                        <Setter Property="ContextMenu" Value="{StaticResource cm}"/>
                        <EventSetter Event="MouseDoubleClick" Handler="HandleDoubleClick" />
                    </Style>
                </ListView.ItemContainerStyle>
            </ListView>
        </ScrollViewer>
    </StackPanel>
</GroupBox>

我收到菜单项 StartIsEnabled 绑定错误,提示 Cannot find source:RelativeSource FindAncestor, AncestorType='System.Windows.Controls.ListView',AncestorLevel='1'

点击命令就像一个魅力,基本上我想做的是将菜单项的 IsEnabled 属性 绑定到从提供的基础数据上下文的 CanStart 属性 listviewItem.

我是个笨蛋。我刚刚尝试使用 AncestorType=ContextMenu,它似乎很有魅力。仍然不完全确定为什么第一个解决方案适用于另一个问题。我想它与绑定到列表视图的数据模型有关。