从ChildWindow获取Value到UserControl页面的值

时间:2015-07-06 12:04:21

标签: c# asp.net wpf silverlight childwindow

我需要在Silverlight应用程序中将Childwindow值设置为UserControl。 我尝试了下面的方法,我在Usercontrol页面中得到null值。

ChildWindow

public partial class QE : ChildWindow
{

        ATest ae= new ATest();
        public void OKButton_Click(object sender, RoutedEventArgs e)
        {
            ae.Q = "TestValue";
            this.DialogResult = true;

        }
}

public partial class ATest : UserControl
{
        public string Q { get; set; }

       public void asdf()
      {
           string checkvalue = Q.ToString();
      }    
}

我需要在UserControl页面的checkvalue变量中获取Child窗口的“TestValue”吗?我该怎么做?

1 个答案:

答案 0 :(得分:0)

获取值从childwindow到Usercontrol页面,执行以下方式,

在App.xaml中使用公共属性

它在" App.xaml.cs"中起到声明静态全局变量的作用。并从应用程序的任何部分使用它。

在" App.xaml.cs"

中声明公共属性

public string MyName {get;组; }

现在我们可以访问这个" MyName"使用" App.Current"来自应用程序中任何位置的属性对象

在Page1.xaml中设置MyName值的代码

    private void btnGo_Click(object sender, RoutedEventArgs e)
    {
        var obj = App.Current as App;
        obj.MyName = "dpkshr";
        this.NavigationService.Navigate(new Uri("/frmMap.xaml", UriKind.Relative));
    }

在Page2.xaml中获取MyName值的代码

    private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
    {
        var obj = App.Current as App;
        MessageBox.Show(obj.MyName);
    }