簡體   English   中英

WPF中DiagramSurface上的Selected項的上下文菜單

[英]context menu for Selected item on a DiagramSurface in WPF

我有一個UI,它是一個diagramSurface對象。 在運行該應用程序時,我將一個元素(一種標簽)拖放到其頂部。 我想為此對象實現一個CONTEXTMENU。

我做完了

<DiagramSurface>
     <DiagramSurface.ContextMenu>
         <ContextMenu >
                <MenuItem Header="Save" Click="MenuItem_Click"/>
         </ContextMenu>
     <DiagramSurface.ContextMenu>
</DiagramSurface>

這樣,如果我單擊不存在對象的表面,就可以看到contextMenu。 如何避免這種情況? 我只想在元素的右鍵單擊上顯示上下文菜單。

作為@Viv說(雖然我不知道他為什么不說出來的答案),該ContextMenu會出現,當你右鍵點擊你將它添加到控制的任何地方 因此,如果將其添加到DiagramSurface ,則在該控件上的任意位置單擊時將顯示它。 若要解決您的問題,請從DiagramSurface控件中刪除聲明。

現在,您需要將其添加到拖放的控件中。 您可以按照@Viv的說明進行操作,並在Resources部分中定義ContextMenu

<Application.Resources>
    <ContextMenu x:Key="ContextMenu">
        <MenuItem Header="Save" Click="MenuItem_Click"/>
    </ContextMenu>
</Application.Resources>

然后將其設置為代碼中拖放元素的ContextMenu

ContextMenu menu = (ContextMenu)Application.Current.FindResource("ContextMenu");
element.ContextMenu = contextMenu;

暫無
暫無

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

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