silverlight应用:使用SilverLight构建插件式应用程序( 3)

  构建第个插件:

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

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

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

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

  4.     添加个SivlerLight用户Control控件名字叫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 PageNote : UserControl,IPlugin

  #region IPlugin 成员

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


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

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

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

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


  显示日志文件爱你

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


  至此整个插件就完成:

  主要步骤概括如下:

  l     实现IPlugin接口

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

  部署插件:

  把插件生成文件WindCloud.Notes.dll 拷贝到 WebClientBin目录先然后修改配置文件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.2.0 silverlight是什么 silverlight silverlight应用

延伸阅读

最新评论

发表评论