Silverlight 读取嵌入在.xap文件中的文件内容

本文介绍如何在Silverlight应用程序中加载不同类型的资源文件,并通过XAML和C#代码实现文字和图片的显示。演示了如何根据Build Action设置,分别加载Content和Resource类型的资源。

假如在 SilverlightApplication6 工程中添加一个文件夹 Content ,下面放置一个 mxh.txt 文件和 mxh.jpg 的照片,文件内容随便写。在“解决方案浏览器”的文件属性中,设置“Build Action”为“Content”;“Copy to Output Directory”属性设置为“Do not copy”。
在 xaml 文件中输入:

XAML 代码
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><UserControl x:Class="SilverlightApplication6.MainPage"
xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"
Width
="800" Height="600">
<Grid x:Name="LayoutRoot" Background="White">
<Canvas Width="800" Height="600">
<TextBox x:Name="TextBoxName" Height="30" Canvas.Top="10"></TextBox>
<Image x:Name="ImageNameIncude" Canvas.Top="60" Height="200"></Image>
<Image x:Name="ImageNameEmbed" Canvas.Top="260" Height="100"></Image>
</Canvas>
</Grid>
</UserControl>

xaml.cs 内容输入:

C# 代码
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->using System;
using System.Windows;
using System.Windows.Media.Imaging;
using System.Windows.Controls;
using System.IO;
using System.Windows.Resources;

namespace SilverlightApplication6
{
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();

// 读取文字
StreamResourceInfo r = Application.GetResourceStream(new Uri("Content/mxh.txt", UriKind.Relative));
StreamReader sr
= new StreamReader(r.Stream);
TextBoxName.Text
= sr.ReadToEnd();
sr.Dispose();

//显示 Build Action 为 Content图片
r = Application.GetResourceStream(new Uri("Content/mxh.jpg", UriKind.Relative));
BitmapImage bmp1
= new BitmapImage();
bmp1.SetSource(r.Stream);
ImageNameIncude.Source
= bmp1;

//显示 Build Action 为 Resource图片
r = Application.GetResourceStream(new Uri("SilverlightApplication6;component/Content/mxh2.jpg", UriKind.Relative));
BitmapImage bmp2
= new BitmapImage();
bmp2.SetSource(r.Stream);
ImageNameEmbed.Source
= bmp2;
}
}
}

按F5进行编译预览,即可在 TextBox 中看到 mxh.txt文件的内容和显示孟宪会的照片。

注意:分隔符“;component/”是必须的。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值