Wpf 通过URI VB.NET访问图标资源

Wpf 通过URI VB.NET访问图标资源,wpf,vb.net,Wpf,Vb.net,我有一个WPF VB.NET应用程序,我想使用嵌入在应用程序资源中的图标作为菜单图标。到目前为止,我有以下代码(在窗口的初始化事件中): 图标仍然没有显示,有什么想法吗?更好的选择是在XAML中构建菜单: 在解决方案中创建文件夹图像 将图像作为Resources添加到Images目录(在我的示例代码:“Icon.ico”中) 在XAML中,可以使用以下代码: 问题是您的URI。如果在代码隐藏中设置,则必须编写完整的。您还必须设置 将图标文件添加到资源(图标的默认值为无) 在XAML中指定UR

我有一个WPF VB.NET应用程序,我想使用嵌入在应用程序资源中的图标作为菜单图标。到目前为止,我有以下代码(在窗口的初始化事件中):


图标仍然没有显示,有什么想法吗?

更好的选择是在XAML中构建菜单:

  • 在解决方案中创建文件夹
    图像
  • 将图像作为
    Resources
    添加到
    Images
    目录(在我的示例代码:“Icon.ico”中)
  • 在XAML中,可以使用以下代码:

  • 问题是您的URI。如果在代码隐藏中设置,则必须编写完整的。您还必须设置 将图标文件添加到
    资源
    (图标的默认值为


    在XAML中指定URI时,默认的ImageSourceTypeConverter将添加
    pack://application:,,,
    part,您只需编写

    <Image Source="/Resources/Icon.ico"/>
    
    
    
    谢谢你的帮助!我发现,当我试图使用XAML嵌入图标时,我必须添加pack://application:,,,. 我是否可以确保下次不必使用addit?不确定您的意思,在XAML中,您不需要预先添加
    pack://application:,,,
    零件。
    <MenuItem Header="Item1">
        <MenuItem.Icon>
            <Image Source="/Images/Icon.ico" Width="20" Height="20" />
        </MenuItem.Icon>
    </MenuItem>
    
    MenuItem.Icon = New Image() With {.Source = New BitmapImage(New Uri("/Images/Icon.ico", UriKind.RelativeOrAbsolute))}
    
    MenuItem.Icon = New Image() With
    {
        .Source = New BitmapImage(New Uri("pack://application:,,,/Resources/Icon.ico"))
    }
    
    <Image Source="/Resources/Icon.ico"/>