2017-09-26 83 views
0

我正在使用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> 

這是結果:

enter image description here

正如你所看到的 - 沒有圖像!

我在做什麼錯?

+1

您是否嘗試將Source放入絕對路徑而不是相對? – Mishka

+0

將圖像文件的Build Action設置爲'Resource',然後從路徑中移除'../ ..'部分。 – Clemens

+0

嘗試以下路徑:Source =「/ Resources/Icons/Tray-menu-icons-open.ico.png」>。或者:Source =「pack:// application:,,,/Resources/Icons/Tray-menu-icons-open.ico.png」。您的圖片是否真的名爲「.ico.png」? – mm8

回答

0

嘗試使用包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屬性已設置爲「資源」,而路徑和文件名稱是正確的。

+1

其中'pack:// application:,,,'前綴在XAML中實際上不是必需的,因爲它是自動添加的。所以「絕對路徑」也隱含地是程序集資源文件包URI。 – Clemens

相關問題