如何在WPF页面上设置图像/图标

时间:2009-01-10 23:36:59

标签: wpf

我需要知道如何在WPF页面上设置最左上角的图标/图像。我知道如何在WPF窗口中执行该页面看起来与众不同。

谢谢,

的Darren

3 个答案:

答案 0 :(得分: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)

答案 1 :(得分:1)

您指的是部署为XBAP的WPF应用程序,如果是这样,相同的规则适用于普通网站,您只需将一个favicon.ico放在IIS网站的根目录中即可。

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

答案 2 :(得分:1)

我认为没有任何支持在导航样式的应用程序中根据当前页面更改主机窗口的图标。

一种解决方法可能是在页面中引入Image类型的属性(可能从基页派生所有页面,或者引入IHasIcon接口并实现它),然后将主机窗口的图标绑定到该页面。有点像:

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

我没有尝试过这个,但我已经做了类似的事情,将TextBlock绑定到导航应用程序中当前页面的“标题”。