我需要在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”吗?我该怎么做?
答案 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);
}