我创建了WPF浏览器应用程序并添加了Page和一个Window。单击页面中的按钮,它将打开一个窗口,其中包含DataGrid中的详细信息列表。我想将Window的DataGrid中的值赋给页面控件。
这些值未分配给Page控件,后面的窗口代码中包含以下代码(Window1.xaml.cs)
private void DataGrid1_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
Page1 page = new Page1();
page.txtName.Text = "GridValue1";
this.Close();
}
当我使用DoubleClick时,应将Wiindow1 Datagrid中的值分配给Page1的控件。我没有得到页面的正确对象来分配txtName.text与DataGrid值Window1。
非常感谢...
答案 0 :(得分:0)
您应该在应用中使用MVVM architectural pattern。然后只需在Page和Window之间共享/复制到WindowModel(它负责保存View和Model之间的值和协调)。因此,您将能够以两种方式正确处理同步。
<强>更新强>
在事件处理程序的情况下,您需要从DataGrid.Parent
向上走,依此类推,直至找到父页面。您需要使用this approach on finding visual parents。