C# Note15:设置Window图标的正确方式
Windows Presentation Foundation(WPF)独立应用程序有两种类型的图标:
- 一个程序集(assembly) 图标,通过在应用程序的项目构建文件中使用<ApplicationIcon>属性指定。该图标用作装配体(assembly)的桌面图标。
Note:在Visual Studio中调试时,由于托管过程,您的图标可能不会显示。如果运行该可执行文件,该图标将会出现。可参阅托管进程(vshost.exe)。
- 通过设置Icon给每个窗口指定一个图标。 对于每个窗口,在其标题栏,其任务栏按钮和其ALT-TAB应用程序选择列表条目中使用此图标。
WPF窗口总是会显示一个图标。 当在设置Icon时,不提供某个图标,WPF会根据以下规则选择要显示的图标:
- 如果指定,请使用装配图标。
- 如果未指定装配体图标,请使用默认的Microsoft Windows图标。
如果使用Icon指定自定义窗口图标,可以将Icon设置为null来还原默认应用程序图标。
在Windows中可以以多种方式使用单个图标,包括在窗口的标题栏中显示窗口的任务栏,ALT + TAB文件选择列表。每个都使用不同大小的图标显示;在窗口的标题栏和任务栏中显示一个16x16像素的图标,而在ALT + TAB文件选择列表中显示一个32x32像素的图标。某些应用程序(如Microsoft Windows资源管理器)提供了一个“视图”菜单,可以选择要查看的图标的大小。
下面来看一下在WPF Window中设置窗口图标的两种方式:
(1)直接设置window的Icon属性
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="SDKSample.MainWindow"
Icon="WPFIcon1.ico">
</Window>
(2)通过代码设置的方式(/WPFIcon2.ico 为图标的相对目录位置)
Uri iconUri = new Uri("pack://application:,,,/WPFIcon2.ico", UriKind.RelativeOrAbsolute);
this.Icon = BitmapFrame.Create(iconUri);
比如:(不管是WinFormWindow和WPF Window皆是如此)
参考文档:https://msdn.microsoft.com/en-us/library/system.windows.window.icon.aspx
C# Note15:设置Window图标的正确方式的更多相关文章
- 在iOS微信浏览器中自动播放HTML5 audio(音乐)的2种正确方式
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- eclipse 导入包含子maven项目的maven项目时的正确方式(父子项目)
eclipse 导入包含子maven项目的maven项目时的正确方式(父子项目) NO1 导入时依次选择 import > Maven > Existing Maven Projects ...
- 打开ElasticSearch、kibana、logstash的正确方式
作者:玩世不恭的Coder时间:2020-03-08说明:原创不易,本文为原创文章,未经允许不可转载,转载前请联系作者 打开ElasticSearch.kibana.logstash的正确方式 前言一 ...
- 【iOS开发-72】设置状态栏的两种方式、程序生命周期以及更好地理解几大类(对象)之间的关系
(1)设置状态栏的2种方式 --第一种方式就是我们在控制器中设置,系统默认就是交给视图控制器去管理的,这样不同视图控制器能够自己定义不同的状态栏例如以下: -(BOOL)prefersStatusBa ...
- C# winform 按钮设置左边图标
按钮设置操作如下: 1.先设置按钮图标,再设置图标的对齐方式 2.再设置按钮字体的对齐方式. 3.最后设置排列: TextImageRelation:设置为ImageBeforeText
- Springboot 打jar包分离lib,配置文件正确方式(二)
Springboot 打jar包分离lib,配置文件正确方式(二) 背景 从<Springboot 打jar包分离lib,配置文件正确方式>中,可以达到把配置文件和依赖第三方的jar包分离 ...
- 在EntityFramework6中管理DbContext的正确方式——2DbContext的默认行为(外文翻译)
(译者注:使用EF开发应用程序的一个难点就在于对其DbContext的生命周期管理,你的管理策略是否能很好的支持上层服务 使用独立事务,使用嵌套事务,并行执行,异步执行等需求? Mehdi El Gu ...
- (转)iOS开发之同一应用设置不同图标和名称
本文转自:http://www.devzeng.com/blog/ios-two-version-app-setting-profile.html iOS开发之同一应用设置不同图标和名称 SEP 6T ...
- 深入探究ASP.NET Core读取Request.Body的正确方式
前言 相信大家在使用ASP.NET Core进行开发的时候,肯定会涉及到读取Request.Body的场景,毕竟我们大部分的POST请求都是将数据存放到Http的Body当中.因为笔者日常开发所使用的 ...
随机推荐
- CF 331 E. Biologist
CF 331 E. Biologist 题目描述 题目大意:有\(n\)个点,初始时每个点为黑色或者白色,你可以花费\(v_i\)的代价将一个点反色.然后你有许多计划,每个计划要求一个点集中的所有点为 ...
- 12个 Linux 中 grep 命令的超级用法实例
12个 Linux 中 grep 命令的超级用法实例 你是否遇到过需要在文件中查找一个特定的字符串或者样式,但是不知道从哪儿开始?那么,就请grep来帮你吧. grep是每个Linux发行版都预装的一 ...
- maven 经常使用命令
版权声明:本文为博主原创文章,未经博主同意不得转载. 安金龙 的博客. https://blog.csdn.net/smile0198/article/details/25567541 刚開始用.记录 ...
- 阿里云轻量应用服务器debian8.9用apache多端口搭建多站点
前几天想要再搭个网站玩玩,就用阿里的服务器,apache本地搭建站点和服务器相差不多,然而却踩了大坑,差点耗死在这儿. 先进入apache这个目录,有如下文件夹: 打开ports.conf, 添加 ...
- Win7 64位系统,IE11,如何让IE的Tab强制运行64位内核?
有些人在使用TerraExplorer Pro 7版本进行web二次开发的时候,常会遇到下面截图中这样的问题, 这个问题主要是因为安装的TerraExplorer Pro 7 版本是64位的,而模型运 ...
- AWS re:Invent(2019.01.09)
时间:2019.01.09地点:北京国际饭店
- JVM-自动内存管理机制
关于GC: 垃圾收集通常被称为"GC",经过半个世纪的发展,内存动态分配与内存回收技术已经相当成熟.那我们为何还要了解GC和内存分配呢? 当我们需要排除各种内存溢出.内存泄露问题时 ...
- SpringBoot如何使用拦截器
1.配置拦截器 @Configuration public class WebMvcConfigurer extends WebMvcConfigurerAdapter { @Override pub ...
- 《Spring Boot 入门及前后端分离项目实践》目录
开篇词:SpringBoot入门及前后端分离项目实践导读 第02课:快速认识 Spring Boot 技术栈 第03课:开发环境搭建 第04课:快速构建 Spring Boot 应用 第05课:Spr ...
- Spring如何加载log4j配置文件
今天有朋友在群里问了这个问题,于是写了这篇文章进行整理. 问题如下: 在项目中添加了log4j.properties配置文件,并没有在Spring配置文件中配置,也没有在web.xml中配置,但是代码 ...