不会显示以编程方式添加的菜单项图标

尝试以编程方式添加选中的图像时,我有一个显示菜单项图标问题:

private void ObjectsCanvas_MouseRightButtonDown(object sender, MouseButtonEventArgs e) { ContextMenu cm = new ContextMenu(); MenuItem mDiag = new MenuItem(); mDiag.Icon = new System.Windows.Controls.Image { Source = (new BitmapImage(new Uri("assets/checked-32-context.png", UriKind.Relative))) }; mDiag.Header = Application.Current.Resources["DiagScreenMenuText"].ToString(); cm.Items.Add(mDiag); cm.PlacementTarget = sender as Button; cm.IsOpen = true; } 

checked-32-context.png图像仅在此处使用,但不显示:

在此处输入图像描述

与XAML相比,有必要在后面的代码中指定完整的资源文件包URI :

 mDiag.Icon = new System.Windows.Controls.Image { Source = new BitmapImage(new Uri( "pack://application:,,,/assets/checked-32-context.png")) }; 

另请注意,这不是相对URI。