【问题标题】:How to show image/icon in taskbar context menu [duplicate]如何在任务栏上下文菜单中显示图像/图标[重复]
【发布时间】:2017-09-26 12:54:12
【问题描述】:

我正在使用 Hardcodet NotifyIcon,我想在我的上下文菜单项旁边显示图像。但由于某种原因,它们没有出现。

这是代码

<tb:TaskbarIcon x:Name="MyNotifyIcon" Icon="{x:Static p:Resources.frame_01}" ToolTipText="hello world">
    <tb:TaskbarIcon.TrayToolTip>
        <TextBlock Text="{x:Static p:Resources.TraybarTitle}" HorizontalAlignment="Center" VerticalAlignment="Center" />
    </tb:TaskbarIcon.TrayToolTip>

    <tb:TaskbarIcon.ContextMenu>
        <ContextMenu Background="{StaticResource JITB.SolidColors.Cyan}">
            <MenuItem Click="Menu_Open">
                <MenuItem.Header>
                    <TextBlock Text="Open" Foreground="White"/>
                </MenuItem.Header>
                <MenuItem.Icon>
                    <Image HorizontalAlignment="Left" Source="../../Resources/Icons/Tray-menu-icons-open.ico.png"></Image>
                </MenuItem.Icon>
            </MenuItem>
            <MenuItem Click="Menu_Close">
                <MenuItem.Header>
                    <TextBlock Text="Close" Foreground="White"/>
                </MenuItem.Header>
                <MenuItem.Icon>
                    <Image Source="../../Resources/Icons/Tray-menu-icons-close.ico.png"></Image>
                </MenuItem.Icon>
                </MenuItem>
        </ContextMenu>
    </tb:TaskbarIcon.ContextMenu>
</tb:TaskbarIcon>

结果如下:

如您所见 - 没有图像!

我做错了什么?

【问题讨论】:

  • 您是否尝试在 Source 中放入绝对路径,而不是相对路径?
  • 将镜像文件的Build Action设置为Resource,然后从路径中删除../..部分。
  • 尝试以下路径:Source="/Resources/Icons/Tray-menu-icons-open.ico.png">。或者:Source="pack://application:,,,/Resources/Icons/Tray-menu-icons-open.ico.png"。你的图片真的命名为“.ico.png”吗?
  • @Mishka 你是对的 - 这就是问题所在......我不明白,因为智能感知给了我完成它的选项。

标签: c# wpf trayicon


【解决方案1】:

尝试使用包 URI:

<Image HorizontalAlignment="Left" Source="pack://application:,,,/Resources/Icons/Tray-menu-icons-open.ico.png" />

或绝对路径:

<Image HorizontalAlignment="Left" Source="/Resources/Icons/Tray-menu-icons-open.ico.png" />

还要确保图像的Build Action 属性已设置为“资源”并且路径和文件名正确。

【讨论】:

  • pack://application:,,, 前缀在 XAML 中实际上不是必需的,因为它是自动添加的。所以“绝对路径”隐含地也是一个程序集资源文件包 URI。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-23
  • 2014-10-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多