WPF中Image控件的Source属性
imgBook 是一个Image控件,在后台代码中我想给它指定Source的属性。我先如下方式进行:
Uri uri = new Uri(strImagePath, UriKind.RelativeOrAbsolute);
imgBook.Source = new BitmapImage(uri);
strImagePath是图片的绝对路径。
在另一处代码中我想把strImagePath指定的图片删掉,操作如下:
if (System.IO.File.Exists(strImagePath))
{
System.IO.File.Delete(strImagePath);
}
但是删除操作报错,原因是程序在使用图片文件。
解决方法如下:
Stream m_ImageStream;
private BitmapImage GetImageSource(string strImagePath)
{
//m_ImageStream.Close();
//m_ImageStream.Dispose();
//m_ImageStream = null;
if (m_ImageStream != null)
{
m_ImageStream.Close();
m_ImageStream.Dispose();
}
BitmapImage image = new BitmapImage();
m_ImageStream = new FileStream(strImagePath, FileMode.Open);
image.BeginInit();
image.StreamSource = m_ImageStream;
image.EndInit();
return image;
}
其中m_ImageStream是一个全局的Stream变量,在删除操作前关闭这个变量就不会再出错了。
if (m_ImageStream != null)
{
m_ImageStream.Close();
m_ImageStream.Dispose();
}
if (System.IO.File.Exists(strImagePath))
{
System.IO.File.Delete(strImagePath);
}
WPF中Image控件的Source属性的更多相关文章
- WPF中Image控件的Source属性的设置
1.直接关联到文件,关联后不能删除此图片,因为图片正在使用. imageEditImage.Source = new BitmapImage(new Uri(strImagePath, UriKind ...
- WPF中PasswordBox控件的Password属性的数据绑定
原文:WPF中PasswordBox控件的Password属性的数据绑定 英文原文:http://www.wpftutorial.net/PasswordBox.html 中文原文:http://bl ...
- 【转】WPF中PasswordBox控件的Password属性的数据绑定
英文原文:http://www.wpftutorial.net/PasswordBox.html 中文原文:http://blog.csdn.net/oyi319/article/details/65 ...
- WPF中利用控件的DataContext属性为多个TextBox绑定数据
工作上需要从给定的接口获取数据,然后显示在界面的编辑框中,以往肯定会一个一个的去赋值,但这样太麻烦而且效率很低,不利于维护,于是想到了数据绑定这一方法,数据绑定主要利用INotifyPropertyC ...
- WPF中Ribbon控件的使用
这篇博客将分享如何在WPF程序中使用Ribbon控件.Ribbon可以很大的提高软件的便捷性. 上面截图使Outlook 2010的界面,在Home标签页中,将所属的Menu都平铺的布局,非常容易的可 ...
- 示例:WPF中Slider控件封装的缓冲播放进度条控件
原文:示例:WPF中Slider控件封装的缓冲播放进度条控件 一.目的:模仿播放器播放进度条,支持缓冲任务功能 二.进度: 实现类似播放器中带缓存的播放样式(播放区域.缓冲区域.全部区域等样式) 实现 ...
- WPF中TreeView控件SelectedItemChanged方法的MVVM绑定
问题描述:左侧treeview控件中点击不同类别的节点时,右侧的页面会显示不同的权限.比如对于My Publications,拥有Modify和Delete两种权限,对于My Subscription ...
- WPF中TreeView控件数据绑定和后台动态添加数据(二)
写在前面:在(一)中,介绍了TreeView控件MVVM模式下数据绑定的方法.在这篇文章中,将总结给节点添加事件的方法,这样说有些不对,总之实现的效果就是点击某个节点,将出现对应于该节点的页面或者数据 ...
- WPF中TreeView控件数据绑定和后台动态添加数据(一)
数据绑定: 更新内容:补充在MVVM模式上的TreeView控件数据绑定的代码. xaml代码: <TreeView Name="syntaxTree" ItemsSourc ...
随机推荐
- 用Go语言写了一个电脑搜索文件的小东西
package main import ( "bytes" "fmt" "os" "os/exec" "pat ...
- iOS9适配小结
前言 最新公布的app版本号适配了iOS9.总结一下适配过程的几个要点. Bitcode iOS9此番推出了新的特性:Bitcode,关于Bitcode的资料大家能够在网上找.Bitcode要求pro ...
- nios DMA使用注意事项
1.对同一个设备的多次DMA读写操作之间如果并行,有可能会导致数据传输错误.可以在程序中对每次DMA操作进行等待.如下: 点击(此处)折叠或打开 void dma_done(void *p) { in ...
- spark 数据预处理 特征标准化 归一化模块
#We will also standardise our data as we have done so far when performing distance-based clustering. ...
- zzulioj--1804--ZY学长的密码(字符串)
1804: ZY学长的密码 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 140 Solved: 53 SubmitStatusWeb Board ...
- nyoj--218--Dinner(语法)
Dinner 时间限制:100 ms | 内存限制:65535 KB 难度:1 描述 Little A is one member of ACM team. He had just won the ...
- 12.红黑树set
#include <iostream> //红黑树(自动保证平衡,自动生成平衡查找树) #include <set> #include <cstring> #inc ...
- ubuntu14.04下snort的安装(官方文档安装)(图文详解)
不多说,直接上干货! 最近为了科研,需要安装和使用Snort. snort的官网 https://www.snort.org/ Snort作为一款优秀的开源主机入侵检测系统,在windows和Linu ...
- 洛谷P3402 【模板】可持久化并查集
一定注意每一次都要是 $root[cur]=root[cur-1]$,不然进行合并时如果 $a,b$ 在同一集合中就会使 $root[cur]=0$. Code: #include <cstdi ...
- springboot整合redis,并解决乱码问题。
热烈推荐:超多IT资源,尽在798资源网 springboot 版本为 1.5.9 //如果是2.x 修改 pom.xml 也可切换成 1.5.9 <parent> <groupId ...