您的位置:首页 > 其它

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

2012-11-06 16:31 288 查看



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

在 xaml 文件中输入:

XAML 代码

<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# 代码

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/”是必须的。

另外,注意代码中使用了程序集的名字 SilverlightApplication6。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: