2009-01-10 82 views
0

我需要知道如何在WPF頁面上設置最左上方的圖標/圖像。我知道如何在WPF窗口中完成該頁面看起來不同。如何設置WPF頁面上的圖像/圖標

感謝,

達倫

+0

我明白了。您需要創建自己的NavigationWindow以設置所有這些窗口屬性。 – 2009-01-11 01:58:31

回答

1

你是指部署爲XBAP WPF應用程序,如果是這樣的規則同樣適用作爲一個正常的網站,你只放置一個favicon.ico的根中你的IIS網站。

http://en.wikipedia.org/wiki/Favicon

+0

不,我指的是System.Windows.Controls.Page類。我需要更改標題欄上的圖標。 – 2009-01-11 01:26:09

1

我不認爲有基於在導航式應用程序的當前頁面上更改主機窗口的圖標任何支持。

一種解決方法可能是在頁面中引入Image類型的屬性(也許從基本頁面派生所有頁面,或者引入一個IHasIcon接口並實現它),然後將主機窗口的圖標綁定到該頁面。沿着線的東西:

<Window ... 
    Icon="{Binding Content.Icon,ElementName=frame1> 
    <Frame x:Name="frame1" ... /> 
</Window> 

我還沒有試過,但我已經做了類似的事情,在導航應用程序綁定一個TextBlock到當前頁面的「稱號」。

+0

我明白了。您需要創建自己的導航窗口才能設置所有這些窗口屬性。感謝您的答覆。 – 2009-01-11 12:08:04

2

可以通過將以下(VB)代碼添加到頁面的Loaded事件(我沒有測試將代碼放置在構造函數中)來修改主機窗口的圖標。

Dim hostWindow As NavigationWindow = 
     DirectCast(
      DirectCast(Me.VisualParent, 
       System.Windows.Controls.ContentPresenter). 
       TemplatedParent, 
     System.Windows.Navigation.NavigationWindow) 

Dim iconUri As New Uri("MyIcon.ico", UriKind.RelativeOrAbsolute) 
hostWindow.Icon = BitmapFrame.Create(iconUri) 
相關問題