WEB开发网
开发学院图形图像Flash 使用SilverLight构建插件式应用程序(三) 阅读

使用SilverLight构建插件式应用程序(三)

 2008-10-23 11:43:52 来源:WEB开发网   
核心提示:构建第一个插件:我要构建的第一个插件是用来显示我的项目概况和开发历史的,介绍的内容都放在服务器端的logs.txt文本中,使用SilverLight构建插件式应用程序(三),下面开始构建:1. 新建立一个SilverLight的类库项目,名字叫 WindCloud.Notes;2. 删除掉默认的Class1.cs项目3

构建第一个插件:

我要构建的第一个插件是用来显示我的项目概况和开发历史的,介绍的内容都放在服务器端的logs.txt文本中。下面开始构建:

1.     新建立一个SilverLight的类库项目,名字叫 WindCloud.Notes;

2.     删除掉默认的Class1.cs项目

3.     添加对公共项目 WindCloud.PubUnit的引用;

4.     添加一个SivlerLight用户控件,名字叫PageNote;

5.     修改界面布局:

l     添加表格和一个文本框,整个代码如下:

<Grid x:Name="LayoutRoot" Background="#EEFFFFFF" >
    <Grid.RowDefinitions>
      <RowDefinition Height="*"></RowDefinition>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
      <ColumnDefinition Width="*"></ColumnDefinition>
    </Grid.ColumnDefinitions>
    <TextBlock x:Name="txtNotes" FontSize="14" Grid.Column="0" Grid.Row="0" VerticalAlignment="Top" Text="TextBlock" TextWrapping="Wrap" />
  
</Grid>

6.     编写代码:

l     首先实现接口IPlugin:

public partial class PageNote : UserControl,IPlugin

#region IPlugin 成员

    public IApplication Application
    {
      get
      {
        return App;
      }
      set
      {
        App = value;
      }
    }
  
    public UserControl LoadUserControl()
    {
      return this;
    }  
  
    public void SetVisibility(Visibility visible)
    {
      this.Visibility = visible;
    }
  
    #endregion

然后在插件加载完成之后添加一个按钮到服务器的界面上:

App.AddToolBar("Notes", this.GetType().ToString(), new Image());

最后获取服务器的日志文件并显示在文本框中:

  //加载日志文件
      WebClient wc = new WebClient();
      if (wc.IsBusy)
      {
        wc.CancelAsync();
      }
      wc.OpenReadCompleted += new OpenReadCompletedEventHandler(wc_OpenReadCompleted);    
      wc.OpenReadAsync(new Uri("logs.txt", UriKind.Relative));

显示日志文件爱你

void wc_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
    {
      System.IO.Stream s= e.Result asStream;
      using (StreamReader reader = new StreamReader(s))
      {
        this.txtNotes.Text= reader.ReadToEnd();
      }
    }  

至此整个插件就完成:

主要步骤概括如下:

l     实现IPlugin接口

l     插件加载完成之后在界面上显示;

部署插件:

把插件生成的文件WindCloud.Notes.dll 拷贝到 Web的ClientBin目录先,然后修改配置文件WindCloud.Config.xml

<assembly xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <titlename>Notes</titlename>
    <version>0.0.1</version>
    <filename>WindCloud.Notes.dll</filename>
    <typename>WindCloud.Notes.PageNote</typename>
    <description></description>
</assembly>

添加一个插件项,至此。整个插件完成

效果演示:http://www.prolightsoft.com ,需要SilverLight 2.0的运行时。

Tags:使用 SilverLight 构建

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接