簡體   English   中英

ContextMenu下的MenuItem未綁定到ViewModel

[英]MenuItem under ContextMenu is not getting binded to ViewModel

我有兩個MenuItem,它們作為一個菜單項的上下文菜單的一部分放置。 我可以綁定父菜單項的DataContext,但是以某種方式無法將子MenuItems與父MenuItem的DataCOntext綁定。 以下是代碼段。

    <MenuItem Name="miCommunityHealthIssues" Margin="3,3,3,6" Click="miCommunityHealthIssues_Click" DataContext="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}" Style="{StaticResource ShowMenuItemFilterStyle}">
                        <MenuItem.ContextMenu>
                            <ContextMenu DataContext="{Binding RelativeSource={RelativeSource Self}, Path=PlacementTarget.DataContext}"> 
                                <MenuItem Name="miShowComhealthIssues" IsCheckable="True" IsChecked="{Binding IncludeCommunityRecords}" Checked="MenuItem_Checked" Unchecked="MenuItem_Unchecked"/>
                                <MenuItem Name="miShowSupComhealthIssues" IsCheckable="True" IsChecked="{Binding IncludeSuppressedCommunityRecords}" Checked="miShowSupComhealthIssues_Checked" Unchecked="miShowSupComhealthIssues_Unchecked"/>                                    
                            </ContextMenu>
                        </MenuItem.ContextMenu>
                    </MenuItem>

請幫助我提供代碼片段,而不是引導我轉到其他鏈接。 我已經提到了很多鏈接,但無法聯系到該解決方案。

我懷疑問題的一部分在ContextMenuDataContext中。 當我嘗試重新創建代碼時,無法在綁定中指定Path=PlacementTarget.DataContext

如果您只是嘗試引用父MenuItemDataContext ,建議不要定義ContextMenuDataContext MenuItemDataContext將應用於所有子元素,包括子MenuItem

<MenuItem Name="miCommunityHealthIssues" Margin="3,3,3,6" Click="miCommunityHealthIssues_Click" DataContext="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}" Style="{StaticResource ShowMenuItemFilterStyle}">
    <MenuItem.ContextMenu>
        <!-- no datacontext definition necessary -->
        <ContextMenu> 
            <MenuItem Name="miShowComhealthIssues" IsCheckable="True" IsChecked="{Binding IncludeCommunityRecords}" Checked="MenuItem_Checked" Unchecked="MenuItem_Unchecked"/>
            <MenuItem Name="miShowSupComhealthIssues" IsCheckable="True" IsChecked="{Binding IncludeSuppressedCommunityRecords}" Checked="miShowSupComhealthIssues_Checked" Unchecked="miShowSupComhealthIssues_Unchecked"/>
        </ContextMenu>
    </MenuItem.ContextMenu>
</MenuItem>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM