WPF 在代码中设置 MenuItem.Icon

发布于 2024-07-04 00:23:15 字数 68 浏览 6 评论 0原文

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

I have an images folder with a png in it. I would like to set a MenuItem's icon to that png. How do I write this in procedural code?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

抚你发端 2024-07-11 00:23:16

对于那些使用 vb.net 的人,要执行此操作,您需要使用以下命令:
menuItem.Icon = New Image() With {.Source = New BitmapImage(New Uri("pack://application:,,,/your_assemble;component/yourpath/Image.png"))}

For those of you using vb.net, to do this you need to use this:
menuItem.Icon = New Image() With {.Source = New BitmapImage(New Uri("pack://application:,,,/your_assembly;component/yourpath/Image.png"))}

怀中猫帐中妖 2024-07-11 00:23:16

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

  • 在解决方案资源管理器中右键单击您的项目,
  • 选择“属性”
  • ,确保您位于应用程序页面。
  • @您看到的资源:图标和清单
  • @图标:单击“浏览”并选择您的图标。

问题解决了。

You can also use your Visual Studio to insert a icon. This is the easiest way

  • Right click at you project in the solution explorer
  • chose Properties
  • Make sure you're in the application page.
  • @ recources you see: Icon and Manifest
  • @ Icon: Click browse and pick your icon.

Problem solved.

长亭外,古道边 2024-07-11 00:23:16

这对我有用

<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>

This is what worked for me

<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>
冷了相思 2024-07-11 00:23:16

这个有点短:D

<MenuItem Header="Example">
   <MenuItem.Icon>
      <Image Source="pack://siteoforigin:,,,/Resources/Example.png"/>
   </MenuItem.Icon>
</MenuItem>

This is a bit shorter :D

<MenuItem Header="Example">
   <MenuItem.Icon>
      <Image Source="pack://siteoforigin:,,,/Resources/Example.png"/>
   </MenuItem.Icon>
</MenuItem>
情痴 2024-07-11 00:23:16

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

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;

This is how I used it (this way it dont need to be built into the assembly):

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;
猫瑾少女 2024-07-11 00:23:16

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

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

menutItem.Icon = new Image
        {
        Source = new BitmapImage(new Uri("pack://application:,,,/your_assembly;component/yourpath/Image.png"))
        }

Arcturus's answer is good because it means you have the image file in your project rather than an independent folder.

So, in code that becomes...

menutItem.Icon = new Image
        {
        Source = new BitmapImage(new Uri("pack://application:,,,/your_assembly;component/yourpath/Image.png"))
        }
茶底世界 2024-07-11 00:23:16
<MenuItem>
  <MenuItem.Icon>
    <Image>
      <Image.Source>
        <BitmapImage UriSource="/your_assembly;component/your_path_here/Image.png" />
      </Image.Source>
    </Image>
  </MenuItem.Icon>
</MenuItem>

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

<MenuItem>
  <MenuItem.Icon>
    <Image>
      <Image.Source>
        <BitmapImage UriSource="/your_assembly;component/your_path_here/Image.png" />
      </Image.Source>
    </Image>
  </MenuItem.Icon>
</MenuItem>

Just make sure your image in also included in the project file and marked as resource, and you are good to go :)

寒江雪… 2024-07-11 00:23:15
menutItem.Icon = new System.Windows.Controls.Image 
       { 
           Source = new BitmapImage(new Uri("images/sample.png", UriKind.Relative)) 
       };
menutItem.Icon = new System.Windows.Controls.Image 
       { 
           Source = new BitmapImage(new Uri("images/sample.png", UriKind.Relative)) 
       };
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文