ContextMenu和wpf usercontrol存在問題。我寫了一個用戶控件,這個用戶控件有一個windowsformhost,我想用wpf上下文菜單來處理windows控件的右鍵按鈕contextmenu。ContextMenu ItemsSource綁定問題
所以我發送消息給wpf用戶控件調用contextMenu.IsOpen = true,並且我填充contextMenu.ItemsSourceProperty綁定。但是當我調用contextmenu.IsOpen = true時,contextMenu.Items.Count == 0,我該如何解決這個問題?
這裏是我的代碼:
<UserControl x:Class="ControlEase.Inspec.Drawing.CanvasEditorView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:ControlEase.Inspec.Drawing"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<UserControl.Resources>
<Style TargetType="{x:Type MenuItem}">
<Setter Property="Header" Value="{Binding Name}"/>
<Setter Property="Command" Value="{Binding Command}"/>
</Style>
<ContextMenu x:Key="graphicsMenu" ItemsSource="{Binding Commands}"/>
</UserControl.Resources>
<UserControl.ContextMenu>
<ContextMenu ContextMenu="{StaticResource graphicsMenu}"/>
</UserControl.ContextMenu>
<Grid>
<local:InitializedUserControl local:LoaderHelper.InitializedCommand="{Binding OpenCommand}" >
<WindowsFormsHost x:Name="windowsHost" local:CanvasContainerExtensions.Canvas="{Binding Model}"/>
<EventCommander.Mappings>
<CommandEvent Event="GotFocus" Command="{Binding ActiveCommand}"/>
<CommandEvent Event="LostFocus" Command="{Binding DeActiveCommand}"/>
</EventCommander.Mappings>
</local:InitializedUserControl>
</Grid>
當我在xaml.cs得到的消息,我叫ContextMenu.IsOpen =真。 ContextMenu!= null,但ContextMenu.Itmes.Count == 0,並且在輸出板中沒有綁定錯誤。請幫忙。