4

OK私はWPFの初心者ですが、タイトルにあるものをwpfで開発する必要がありますが、MVVMに依存していません。私はこれに従いました:

トレイ アイコンしかない WPF アプリケーション

ハードコードライブラリを使用した最初の回答を見つけましたが、難しすぎてMVVMに偏りがあることがわかりました。

そのため、2番目のものに続き、最終的に機能しないことを除いて、すべてがうまくいくように見えました。だから私の App.xaml.cs に入れました:

public partial class App : Application
{
    private System.Windows.Forms.NotifyIcon notifyIcon = null;

    protected override void OnStartup(StartupEventArgs e)
    {
      base.OnStartup(e);
      UnityCore.Initialize();
    }

    protected override void OnActivated(EventArgs e)
    {
      notifyIcon = new System.Windows.Forms.NotifyIcon();
      notifyIcon.Click += NotifyIcon_Click;
      notifyIcon.DoubleClick += NotifyIcon_DoubleClick;

      Stream iconStream = Application.GetResourceStream(new Uri("pack://application:,,,/Resources/Images/ITA.png")).Stream;
      notifyIcon.Icon = new System.Drawing.Icon(iconStream);
      notifyIcon.Visible = true;
      base.OnActivated(e);
    }

    private void NotifyIcon_DoubleClick(object sender, EventArgs e)
    {
      Console.Beep();//show main window
    }

    private void NotifyIcon_Click(object sender, EventArgs e)
    {
      Console.Beep();//show main window
    }
}

開始時のメイン ウィンドウは透明または最小化され、非表示になります。

この段階で、トレイ アイコンに ITA フラグが表示され、クリックまたはダブルクリックでメイン ウィンドウが復元されることを期待していました。

しかし、私はトレイにいまいましいものを見ません。

フラグリソースが適切に設定されていると思います ここに私の解決策があります

ここに画像の説明を入力

助けてくれてありがとう。

4

0 に答える 0