2018-8-10-WPF-使用-VisualStudio-2017-项目文件
| title | author | date | CreateTime | categories |
|---|---|---|---|---|
|
WPF 使用 VisualStudio 2017 项目文件
|
lindexi
|
2018-08-10 19:16:53 +0800
|
2018-05-31 18:56:11 +0800
|
VisualStudio WPF
|
本文告诉大家如何在 WPF 访问解决方案的文件
在 WPF 如果需要访问项目的文件,如在项目文件放一张图片,需要在 xaml 或后台代码读取,这个就是需要用到本文的技术。
假如在 项目文件 放一张图片,首先新建一个项目,然后随意找一张图片,放在项目上
注意需要查看图片的属性,如果图片的生成不是 Resources 那么在使用下面的代码还是找不到
最简单在 xaml 获取项目文件的方式是直接写相对 xaml 的路径,下面的代码写在主界面
<Image Source="22f0c4ae0afad5e2fd91a6dcff052f2b.jpg"></Image>
如果放在另一个文件夹的 xaml 相对于图片是下一级,就需要使用下面代码
<Image Source="../22f0c4ae0afad5e2fd91a6dcff052f2b.jpg"></Image>
因为很容易移动 xaml 文件所在的文件夹,如果移动了文件夹,那么刚才的路径就需要修改,所以建议写绝对路径。
绝对路径的写法是 pack://application:,,,/ 后面添加解决方案的路径。
如在上图,解决方案里的 22f0c4ae0afad5e2fd91a6dcff052f2b.jpg 相对于解决方案是在根目录,所以可以这样写
<Image Source="pack://application:,,,/22f0c4ae0afad5e2fd91a6dcff052f2b.jpg"></Image>
如果需要跨程序集访问,如我再创建一个项目B,让刚才 A 项目引用 B 项目,在 B 项目放一张图片,然后在 A 项目引用B项目的图片 NearzooRasterCairralJeajismowwir.jpg 就需要在路径写上程序集
现在需要访问 B 项目的 NearzooRasterCairralJeajismowwir.jpg 就需要使用pack://application:,,,/B;component/NearzooRasterCairralJeajismowwir.jpg,格式就是pack://application:,,,/程序集;component/相对B项目的文件,需要注意右击看文件是不是 Resources 如果不是还是无法找到
<Image Source="pack://application:,,,/B;component/NearzooRasterCairralJeajismowwir.jpg"></Image>
需要知道,程序集和项目的名字是可以不相同的,如刚才的 B 项目,实际上程序集和项目名字不相同,请看下图
所以发现自己找不到资源,可能是项目名字和程序集不相同,需要右击查看程序集
<Image Source="pack://application:,,,/lindexi;component/NearzooRasterCairralJeajismowwir.jpg"></Image>
如果引用了相同程序集的不同版本,就需要在路径写上版本,格式是pack://application:,,,/程序集;版本;component/文件相对根目录,具体代码请看下面
<Image Source="pack://application:,,,/lindexi;v1.0.0.0;component/NearzooRasterCairralJeajismowwir.jpg"></Image>
在后台访问解决方案的文件和在 xaml 访问的方法差不多,也是需要用到路径,只是调用的方法不相同
var resourceStream = Application.GetResourceStream(new Uri("pack://application:,,,/lindexi;component/NearzooRasterCairralJeajismowwir.jpg"));
if (resourceStream != null)
{
var stream = resourceStream.Stream;
}
2018-8-10-WPF-使用-VisualStudio-2017-项目文件的更多相关文章
- 申请Office 365一年免费的开发者账号攻略(2018年10月份版本)
要进行Office 365开发,当然需要有完整的Office 365环境才可以.为了便于广大开发人员快速地启动这项工作,微软官方给所有开发人员提供了免费的一年开发者账号 那么如何申请Office ...
- IntelliJ IDEA 最新激活码(截止到2018年10月14日)
IntelliJ IDEA 注册码: EB101IWSWD-eyJsaWNlbnNlSWQiOiJFQjEwMUlXU1dEIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYX ...
- 新手C#SQL Server使用记录2018.08.10
主键(PrimaryKey):主键就是每个数据行(记录)的唯一标识,不会有重复值的列(字段)才能当做主键.一个表可以没有主键,但是这样会很难处理表,因此一般情况表都要设置主键. 主键有两张选用策略,分 ...
- 01 mybatis框架整体概况(2018.7.10)-
01 mybatis框架整体概况(2018.7.10)- F:\廖雪峰 JavaEE 企业级分布式高级架构师课程\廖雪峰JavaEE一期\第一课(2018.7.10) maven用的是3.39的版本 ...
- 北京化工大学2018年10月程序设计竞赛部分题解(A,C,E,H)
目录 北京化工大学2018年10月程序设计竞赛部分题解(A,C,E,H) 竞赛事件相关 竞赛链接 竞赛题目 总结 北京化工大学2018年10月程序设计竞赛部分题解(A,C,E,H) 竞赛事件相关 竞赛 ...
- 富士康的盈利秒杀99%的A股公司:3星|《三联生活周刊》2018年10期
三联生活周刊·最美的数学:天才为何成群到来(2018年10期) 本期专题是数学和成都,我都跳过去没看.其他内容也还有点意思. 总体评价3星. 以下是本期一些内容的摘抄,#号后面是kindle电子版中的 ...
- Burn Down Chart(2018.6.4~2018.6.10)
Burn Down Chart (2018.6.4~2018.6.10) 娄雨禛[前端部分] 曾子轩[后端部分+燃尽图] 前端 1. 娄雨禛+李鑫 1)在总工程中完成跳转,实现图片显示,并发布到Git ...
- Java分布式互联网架构/微服务/高性能/springboot/springcloud 2018年10月17日直播内容
2018年10月17日直播内容 大规模并发必备的消息中间件技术ActiveMq 网盘链接: https://pan.baidu.com/s/1GlxsZ2JnrvX- YN16-S7lQw 提取码: ...
- 关于 iOS 10 中 ATS / HTTPS /2017 问题
本文于 2016 年 11 月 28 日按照 Apple 最新的文档和 Xcode 8 中的表现进行了部分更新. WWDC 15 提出的 ATS (App Transport Security) 是 ...
- 【福州活动】| "福州首届.NET开源社区线下技术交流会"(2018.11.10)
活动介绍 微软爱开源,已是尽人皆知的事实.自从收购全球最大的开源社区 GitHub 之后,微软依旧使 GitHub 保持独立运营,并且通过此项举措,微软本身已经成为最大的社区服务者. .NET Cor ...
随机推荐
- centos6.5 zabbix2.2 亲测安装
因为需要做测试,调试.需要安装zabbix. 然后自己新弄了一个 centos6.5 minimal版本,从头来了一遍. 1.先安装LAMP的环境还有一些基本环境. yum -y install g ...
- Struts_登录练习(配置拦截器)
需求:类似过滤器看有没有登录,没登陆就返回登陆界面,在上文基础上实现 1.新建拦截器 2.配置拦截器 3.完成.
- TP5.1 分页CSS样式(转载)
效果如图: 1.在extend\目录下创建page目录,在page目录中创建Page.php文件,将以下代码放入文件中 <?php namespace page; use think\Pagin ...
- web前端开发必备技术
1.Vue.js是什么? Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的 渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库只关注 ...
- Hdu 3068 最长回文字串Manacher算法
题目链接 最长回文 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- 【等价的穿越】Burnside引理&Pólya计数法
Problem 起源: SGU 294 He's Circle 遗憾的是,被吃了. Poj有道类似的: Mission 一个长度为n(1≤n≤24)的环由0,1,2组成,求有多少本质不同的环. 实际上 ...
- Python re.sub函数
- Eclipse Jobs 和后台进程
Eclipse后台进程 1.主线程(Main thread) 一个Eclipse客户端只能跑一个进程,但却可以创建很多线程. 在Eclipse框架中,会用一个单线程去运行所有的代码指令,这个线程执行客 ...
- 几种常见的flex布局
1,水平等距排列.俩端对齐.垂直方向居顶对齐 html: <div class="container flex"> <div class="div1&q ...
- oracle如何穿过防火墙连接数据库
这个问题只会在WIN平台出现,UNIX平台会自动解决. 解决方法: 在服务器端的SQLNET.ORA应类似 SQLNET.AUTHENTICATION_SERVICES= (NTS) NAMES.DI ...