详解Silverlight子窗口传递参数到父窗口

我们今天要讲到的是Silverlight子窗口,主要是讲Silverlight子窗口传递参数到父窗口。在企业级项目中,子窗口(ChildWindow)是一个常用控件,其展示方式是以弹出窗口来显示信息。 这里我将演示,子窗口传递参数到父窗口的方法。由于我的开发环境都是英文环境,所以部分中文可能显示不正常,请大家见谅。

我们提供的服务有:成都网站设计、成都网站制作、微信公众号开发、网站优化、网站认证、榆次ssl等。为数千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的榆次网站制作公司

#T#

我们的目的是希望用户在子窗口输入一串文字,然后点击提交后,字符串将被返回显示在父窗口。

1. 首先创建一个新项目 “SLChildWindow",

2. 然后在新项目中,右键点击添加,添加一个新项目,选择“子窗口”(ChildWindow), 改名为"ChildWindowDemo.xaml",添加完成后,在子窗口中添加一个文本框,名为 txtUserInfo,

 
 
 
  1.  x:Class="SLChildWindow.ChildWindowDemo"
  2.             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  3.             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
  4.             xmlns:controls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls"
  5.             Width="400" Height="300" 
  6.            Title="ChildWindowDemo">
  7.       x:Name="LayoutRoot" Margin="2">
  8.         
  9.               />
  10.             Height="Auto" />
  11.         Grid.RowDefinitions>
  12.         x:Name="txtUserInfor" Grid.Row="0" />
  13.   x:Name="CancelButton" Content="Cancel" Click="CancelButton_Click"
  14. Width="75" Height="23" HorizontalAlignment="Right" Margin="0,12,0,0" Grid.Row="1" />
  15.   x:Name="OKButton" Content="OK" Click="OKButton_Click" Width="75"
  16. Height="23" HorizontalAlignment="Right" Margin="0,12,79,0" Grid.Row="1" />
  17.      Grid>
  18. controls:ChildWindow>

3. 在子窗口后台代码中创建一个字符串类型的属性,该属性将用来保存用户输入的字符串,

 
 
 
  1. string testString;
  2.  public string TestString
  3.  {
  4.      get {return testString;}
  5.       set { testString = value; }
  6.  } 

4. 在子窗口中,建立一个EventHandler,父窗口将用该事件控制器获取子窗口参数,

 
 
 
  1. public event EventHandler OkClicked;

5. 当前,在子窗口有两个按钮,一个是Ok按钮,一个是Cancel按钮,后台有两个按钮事件OKButton_Click,CancelButton_Click; 在OKButton_Click中调用前面我们定义的时间控制器OkClicked,

 
 
 
  1.  private void OKButton_Click(object sender, RoutedEventArgs e)
  2.  {
  3.      if (OkClicked != null)
  4.      {
  5.          TestString = txtUserInfor.Text;
  6.          OkClicked(thisnew EventArgs());
  7.      }
  8.      this.DialogResult = true;
  9. }

6. 在父窗口MainPage.xaml中建立一个子窗口的实例,方便父窗口调用子窗口,

 
 
 
  1. private ChildWindowDemo childWindowDemo = new ChildWindowDemo();

7. 在父窗口MainPage.xaml中调用子窗口的OkClicked事件,

 
 
 
  1. public MainPage()
  2.        {
  3.           InitializeComponent();
  4.           childWindowDemo.OkClicked += new EventHandler(childWindowDemo_OkClicked);
  5.        }
  6.       private void childWindowDemo_OkClicked(object sender, EventArgs e)
  7.        {
  8.             tbInfo.Text = childWindowDemo.TestString;
  9.        }
  10.         private void btPopup_Click(object sender, RoutedEventArgs e)
  11.         {
  12.            childWindowDemo.Show();
  13.        }

8. 最后通过子窗口属性获取子窗口用户输入信息。

链接:http://www.cnblogs.com/jv9/archive/2009/11/26/1610988.html

分享文章:详解Silverlight子窗口传递参数到父窗口
文章路径:http://www.mswzjz.cn/qtweb/news4/535154.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能