System.Windows.Forms에서 NotifyIcon 컨트롤을 사용해야하거나 Windows API에서 제공하는 Notify Icon API를 사용할 수 있습니다. WPF 해당 기능을 제공하지 않으며 Microsoft Connect에서 여러 번 요청되었습니다.거짓하여 ShowInTaskBar = 갖는 WPF 윈도우를 생성
:
I은 WPF 응용 프로그램 내에서 부품 NotifyIcon System.Windows.Forms
사용 GitHub의에 코드가 상기 코드 https://github.com/wilson0x4d/Mubox/blob/master/Mubox.QuickLaunch/AppWindow.xaml.cs
에서 볼 수있는 여기에 요약 비트이다 보이지 않는 상태로로드됩니다.
클래스 수준에서
:
private System.Windows.Forms.NotifyIcon notifyIcon = null;
OnInitialize 동안()
notifyIcon = new System.Windows.Forms.NotifyIcon();
notifyIcon.Click += new EventHandler(notifyIcon_Click);
notifyIcon.DoubleClick += new EventHandler(notifyIcon_DoubleClick);
notifyIcon.Icon = IconHandles["QuickLaunch"];
OnLoaded 동안()
notifyIcon.Visible = true;
및 상호 작용을위한
(notifyIcon.Click으로 도시 위의 DoubleClick) :
는 여기에서 당신은 그것은 그렇게 간단의 등 상황에 맞는 메뉴, 팝업 창,
로 WPF 컨트롤 및 API의 사용을 재개 할 수 있습니다. 구성 요소를 호스팅하기 위해 WPF 창이 필요하지는 않습니다. WPF App에 응용 프로그램을 도입하는 가장 편리한 방법입니다 (일반적으로 Window는 App.xaml을 통해 정의 된 기본 진입 점이므로) 마찬가지로, WPF 래퍼 또는 타사 컨트롤이 필요합니다. SWF 구성 요소는 .NET Framework (현재 및 미래의 모든 .NET Framework 버전이 빌드 됨)의 일부이기 때문에 WPF 지원도 포함하는 모든 .NET Framework 설치에서 제공됩니다. 현재까지 SWF 지원은 언제든지 .NET Framework에서 삭제 될 것이라는 징후는 없습니다.
희망이 있습니다.
트레이 아이콘을 얻기 위해 3.0 이전 프레임 워크 구성 요소를 사용해야하는 약간의 치즈이지만 Microsoft에서 설명한대로 당연히 WPF 범위 내에서 시스템 트레이에 대한 개념은 없습니다. WPF는 프레젠테이션 기술이며 알림 아이콘은 운영 체제 ("프레젠테이션"이 아닌) 개념입니다.
모든 제안에 감사드립니다. WPF-NotifyIcon은 빠른 테스트에서 매우 유망하고 고통 스럽다는 것을 보여주기 때문에 제가 함께 할 것입니다. –