38

我有一个带有 png 的图像文件夹。我想将 MenuItem 的图标设置为该 png。我如何在程序代码中编写它?

4

8 回答 8

63
menutItem.Icon = new System.Windows.Controls.Image 
       { 
           Source = new BitmapImage(new Uri("images/sample.png", UriKind.Relative)) 
       };
于 2008-08-27T14:31:47.487 回答
23
<MenuItem>
  <MenuItem.Icon>
    <Image>
      <Image.Source>
        <BitmapImage UriSource="/your_assembly;component/your_path_here/Image.png" />
      </Image.Source>
    </Image>
  </MenuItem.Icon>
</MenuItem>

只需确保您的图像也包含在项目文件中并标记为资源,您就可以开始了 :)

于 2008-08-27T14:32:40.263 回答
17

Arcturus 的回答很好,因为这意味着您的项目中有图像文件,而不是一个独立的文件夹。

所以,在变成...的代码中

menutItem.Icon = new Image
        {
        Source = new BitmapImage(new Uri("pack://application:,,,/your_assembly;component/yourpath/Image.png"))
        }
于 2009-10-01T14:50:52.387 回答
3

这有点短:D

<MenuItem Header="Example">
   <MenuItem.Icon>
      <Image Source="pack://siteoforigin:,,,/Resources/Example.png"/>
   </MenuItem.Icon>
</MenuItem>
于 2013-06-25T15:16:22.870 回答
1

这就是我使用它的方式(这样它就不需要内置到程序集中):

MenuItem item = new MenuItem();
string imagePath = "D:\\Images\\Icon.png");
Image icon = new Image();
icon.Source= new BitmapImage(new Uri(imagePath, UriKind.Absolute));
item.Icon = icon;
于 2009-05-19T13:59:53.423 回答
1

这对我有用

<MenuItem Header="delete   ctrl-d" Click="cmiDelete_Click">
    <MenuItem.Icon>
        <Image>
            <Image.Source>
                <ImageSource>Resources/Images/delete.png</ImageSource>
            </Image.Source>
        </Image>
    </MenuItem.Icon>
</MenuItem>
于 2013-10-01T16:52:18.163 回答
0

对于那些使用 vb.net 的人,要做到这一点,你需要使用这个: menuItem.Icon = New Image() With {.Source = New BitmapImage(New Uri("pack://application:,,,/your_assembly;component/yourpath/Image.png"))}

于 2013-02-09T10:31:38.013 回答
-5

您还可以使用 Visual Studio 插入图标。这是最简单的方法

  • 在解决方案资源管理器中右键单击您的项目
  • 选择属性
  • 确保您在申请页面中。
  • @你看到的资源:图标和清单
  • @图标:单击浏览并选择您的图标。

问题解决了。

于 2011-01-02T10:53:39.743 回答