2011-04-22 2 views
3

WPF에서는 WinForms의 컨트롤이 없기 때문에 WinForms의 NotifyIcon을 사용하고 있습니다. 문제는 이미지를 아이콘으로 설정하는 것입니다. 이미지가 프로젝트에있을 때의 NotifyIconNotifyIcon 컨트롤의 이미지를 코드 숨김 또는 XAML에서 설정하십시오.

내 프로젝트의 Images 폴더에 이미지가 있고 이미지 파일이 'notification.ico'를 호출합니다. 내가 잘못 여기서 뭐하는 거지

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

: 여기

내 NotifyIcon입니까?

코드 숨김 대신 XAML에서 내 NotifyIcon을 만들 수 있습니까? 가능하다면 어떻게 할 수 있습니까?

미리 감사드립니다.

답변

8

System.Drawing.Icon은 WPF 리소스에 사용 된 pack:// 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 
    }; 
    
관련 문제