18

WPFを使ってシステムトレイへのアプリケーションを最小限にしたい。「NotifyIcon」がこの結果を達成する唯一の方法ですか? はいの場合、WPF で「NotifyIcon」を使用するために必要な名前空間はどれですか?

「NotifyIcon」で可能であれば、ヒントを提供してください。メインウィンドウでそれを使用するにはどうすればよいですか?

私のメインウィンドウは、

public partial class MonthView : MetroWindow
{

    public DateTime SelectedDate { get; set; }

    public MonthView()
    {

            InitializeComponent();
            calMain.DisplayDate = DateTime.Today;
            Globals._globalController = new AppController();
            Globals._globalController.appTaskManager.setupLocal();
            Globals._globalController.setMonthViewWindow(this);

    }

    public void calItemSelectedDate(object sender, SelectionChangedEventArgs e)
    {
        DateTime d;
        if (sender is DateTime)
        {
            d = (DateTime)sender;
        }
        else
        {
            DateTime.TryParse(sender.ToString(), out d);
        }

        SelectedDate = d;

        ShowActivity(d);
     }

    public void ShowActivity(DateTime date)
    {
        DayView Activity = new DayView(date);
        Activity.Show();
        this.Hide();
    }

    private void SetButton_Click(object sender, RoutedEventArgs e)
    {
        SettingsView set = new SettingsView();
        set.Show();
        this.Hide();
    }

 }
4

3 に答える 3

25

NotifyIconは Forms のように WPF に実装されていませんが、 System.Windows.Forms名前空間に存在する Windows Form NotifyIconを引き続き使用できます。

これらのチュートリアルを見てください。ニーズをカバーしている可能性があります。

NotifyIcon を直接使用する簡単なソリューション: http://www.abhisheksur.com/2012/08/notifyicon-with-wpf-applications.html

より高度なソリューション、より多くの機能を備えたNotifyIconに基づく新しいライブラリ: http://www.codeproject.com/Articles/36468/WPF-NotifyIcon

NotifyIconの詳細については、http : //msdn.microsoft.com/en-us/library/system.windows.forms.notifyicon.aspxを参照してください。

于 2013-07-16T11:04:12.053 に答える
6

はい、可能です。私は個人的なプロジェクトでそれを使用して成功しました。Philip Sumi http://www.hardcodet.net/projects/wpf-notifyiconによって書かれた優れたコントロールがあります。私はそれを正確に使用しましたが、それは本当にうまく機能し、見栄えがします(主観的)。

画像

注意: ライセンス条件に注意しプロジェクトで使用できるかどうかを確認してください。

于 2013-07-16T11:05:05.637 に答える