我有MainPaqe.cs
(MainPaqe.xaml
)和Periodic_Request.cs
(Periodic_Request.xaml
),此外,Periodic_Request.xaml
的{{1}}名称为TextBox
名称为TxtBlock_numRequest
的{{1}}和Combobox
可能有3个选项。
问题在于如何在CmbBox_lvlPriority
中获取用户从TextBox
和Combobox
编写的数字或字符串。按MainPaqe.cs
后,我需要获取所有这些信息。
我完全不懂如何编写它并使用该模式,所以这就是我需要实际代码的原因
答案 0 :(得分:3)
您可以尝试在QueryString中传递数据吗?查看this link了解样本
private void button_Click(object sender, RoutedEventArgs e)
{
string uri = String.Format("/Periodic_Request.xaml?numRequest={0}", TxtBlock_numRequest.Text);
NavigationService.Navigate(new Uri(uri, UriKind.Relative));
}
答案 1 :(得分:1)
如果我只需将一些需要传递到主页面的内容定义为App.xaml.cs文件中的静态属性,我通常会这样做
然后你可以做这样的事情;
MainPage_OnNavigatedTo(object sender, Eventargs args)
{
if(App.YourProperty != null)
{
_viewmodel.RefreshValueForFoo(App.YourProperty);
}
}
这不是最好的解决方案,但只有少数几个需要传递的值才能完成工作
答案 2 :(得分:1)
您既可以发送像miguel建议的查询字符串,也可以使用静态属性,但两者都不太好。 (为什么我需要一个每个人都可以看到的属性?或者为什么我必须创建一个查询字符串。)
使用WPF时的解决方案通常适合使用MVVM模式,反过来,使用messenger类发送消息。你可以发送你想要的任何消息,无论是谁应该收听它,都会收到它(一旦他注册了那种类型的消息)。
我对MVVM-Light实现非常满意。
以下是有关如何使用信使的一般示例:http://jesseliberty.com/2011/01/06/windows-phone-from-scratch%E2%80%93mvvm-light-toolkit-soup-to-nuts-3/