Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 如何向框架控件内的页面发送消息?_.net_Wpf - Fatal编程技术网

.net 如何向框架控件内的页面发送消息?

.net 如何向框架控件内的页面发送消息?,.net,wpf,.net,Wpf,我有一个窗口,其中包含一个主导航列(列表框)和当前所选项目的详细视图。当我在列表框中选择一个项目时,详细视图将显示一组与所选项目相关的控件(可编辑文本字段等) 到目前为止,我选择使用一个框架,通过更改Frame.Source可以显示不同的页面。此外,我希望页面在第一次单击时从所选列表框项目加载信息,并在列表框的所选项目更改时将详细视图中显示的相同信息保存回相同的项目 由于页面和主窗口位于不同的XAML文件中,因此它们无法内在地看到对方。我如何传递这样的信息?我在想一些概念上类似于JSON调用的东

我有一个窗口,其中包含一个主导航列(列表框)和当前所选项目的详细视图。当我在列表框中选择一个项目时,详细视图将显示一组与所选项目相关的控件(可编辑文本字段等)

到目前为止,我选择使用一个框架,通过更改Frame.Source可以显示不同的页面。此外,我希望页面在第一次单击时从所选列表框项目加载信息,并在列表框的所选项目更改时将详细视图中显示的相同信息保存回相同的项目

由于页面和主窗口位于不同的XAML文件中,因此它们无法内在地看到对方。我如何传递这样的信息?我在想一些概念上类似于JSON调用的东西,您可以将一系列参数传递到另一个页面并接收响应

感谢下面的回复,我发现了。此代码示例特别相关:

Customer selectedCustomer = (Customer)listBox.SelectedItem;
this.NavigationService.Navigate(new CustomerDetailsPage(selectedCustomer));

我需要做的是用我想作为参数传递的对象调用新页面的构造函数。由于对象是通过引用传递的,对该对象所做的更改将自动反映在该对象所在的应用程序的其他区域。

我认为如果
Page1
承载导航到
Page2
的框架,则在
导航服务中。从框架导航的
事件中

     MyFrame.NavigationService.Navigated +=
         (sender, e) =>
            {
                  var nextPageContent = MyFrame.NavigationService.Content;
                  //// this is the root of the content of Page2.
            }

nextPageContent可以提供自己的
DataContext
等。

好的,所以我可以做类似nextPageContent.DataContext=[DataContext of MainWindow]?