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 ...
随机推荐
- Leetcode15.3Sum三数之和
给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组. 注意:答案中不可以包含重复的三元组. ...
- HDU 4006优先队列
//按照降序排列,而且队列中只保存k个元素 #include<stdio.h> #include<queue> using namespace std; int main(){ ...
- C#中的事件注册和注销
C#中的事件注册和注销 由于.NET框架对消息循环机制进行了很好的封装,开发人员不再需要深入的了解Windows事件/消息实现的具体机制,也无需创建复杂的事件结构体和所谓的消息句柄.我们所要做的无非就 ...
- 从0开始学习 GitHub 系列之「05.Git 进阶」
关于 Git 相信大家看了之前一系列的文章已经初步会使用了, 但是关于Git还有很多知识与技巧是你不知道的,今天就来给大家介绍下一些 Git 进阶的知识. 1. 用户名和邮箱 我们知道我们进行的每一次 ...
- php表单传值--GET和POST
一. 传值 1. 传值/接收方法: 1) GET(5种方式!) a) 表单Form: method = ‘get’ GET接收数据方式: b) ...
- element-ui el-time-picker
获取时分秒时间 <el-time-picker is-range v-model="time" value-format="HH:mm:ss" range ...
- LintCode_111 爬楼梯
题目 假设你正在爬楼梯,需要n步你才能到达顶部.但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部? 比如n=3,中不同的方法 返回 3 1 2 3 5 8 13... step[2] = ...
- List容器-LinkedList链表
LinkedList--链表 特点: 删除,增加 用LinkedList性能高 层次查找不适合 查询用ArrayList 数组下标查找 插入和删除慢缺点是要做移位操作 总结:Link ...
- 集合--List&&ArrayList-LinkedList
1.8新特性 List接口中的replaceAll()方法,替换指定的元素,函数式接口编程 List 元素是有序的并且可以重复 四种add();方法 ArrayList(用于查询操作),底层是数组 ...
- poj 2385【动态规划】
poj 2385 Apple Catching Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 14007 Accepte ...