3

WPFにはそのようなコントロールがないため、WindowsFormsのNotifyIconを使用していますが、WinFormsのものは正常に動作します.私の問題は、画像がプロジェクトにあるときにNotifyIconに画像をアイコンとして設定することだけです.

プロジェクトの Images というフォルダーに画像があり、画像ファイルは「notification.ico」と呼ばれます。

これが私のNotifyIconです:

System.Windows.Forms.NotifyIcon sysIcon = new System.Windows.Forms.NotifyIcon() 
{
    Icon = new System.Drawing.Icon(@"/Images/notification.ico"),
    ContextMenu = menu,
    Visible = true
};

ここで何が間違っていますか?

コード ビハインドではなく XAML で NotifyIcon を作成できますか? 可能であれば、どのようにすればよいですか?

前もって感謝します!

4

1 に答える 1

10

System.Drawing.Iconpack://WPF リソースに使用される URI スキームをサポートしていません。次のいずれかを実行できます。

  • アイコンを埋め込みリソースとして resx ファイルに含め、生成されたプロパティを直接使用します。

    System.Windows.Forms.NotifyIcon sysIcon = new System.Windows.Forms.NotifyIcon() 
    {
        Icon = Properties.Resources.notification,
        ContextMenu = menu,
        Visible = true
    };
    
  • または、次のように URI から手動でロードします。

    StreamResourceInfo sri = Application.GetResourceStream(new Uri("/Images/notification.ico"));
    System.Windows.Forms.NotifyIcon sysIcon = new System.Windows.Forms.NotifyIcon() 
    {
        Icon = new System.Drawing.Icon(sri.Stream),
        ContextMenu = menu,
        Visible = true
    };
    
于 2011-04-22T18:30:48.497 に答える