Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.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
C#:WPF-多页应用程序在页面之间传递数据_C#_Wpf_Multithreading_Object_State - Fatal编程技术网

C#:WPF-多页应用程序在页面之间传递数据

C#:WPF-多页应用程序在页面之间传递数据,c#,wpf,multithreading,object,state,C#,Wpf,Multithreading,Object,State,我有多页应用程序(WPF),我用它来做遗传算法我的应用程序看起来像这样 此多页应用程序的逻辑与下面包含的链接相同。 我的问题是如何在具有对象状态的页面之间传递信息。我的意思是,我运行遗传算法,在遗传算法运行期间,我将单击图形按钮,它将打开新的页面图形(在同一窗口中),并显示一些统计信息,然后我返回主页,所有内容同时运行。但在这一刻,它总是只创建新页面,所有数据都被删除,所以我需要一些东西在页面之间传递数据 解决方案应在本部分代码中: public interface ISwitchable

我有多页应用程序(WPF),我用它来做遗传算法我的应用程序看起来像这样

此多页应用程序的逻辑与下面包含的链接相同。

我的问题是如何在具有对象状态的页面之间传递信息。我的意思是,我运行遗传算法,在遗传算法运行期间,我将单击图形按钮,它将打开新的页面图形(在同一窗口中),并显示一些统计信息,然后我返回主页,所有内容同时运行。但在这一刻,它总是只创建新页面,所有数据都被删除,所以我需要一些东西在页面之间传递数据

解决方案应在本部分代码中:

public interface ISwitchable
{
  void UtilizeState( object state );
}

public static class Switcher
{
    public static PageSwitcher pageSwitcher;

    public static void Switch(UserControl newPage, object state)
    {
        pageSwitcher.Navigate(newPage, state);
    }
}
    public void Navigate(UserControl nextPage, object state)
    {
        this.Content = nextPage;
        ISwitchable s = nextPage as ISwitchable;

        if (s != null)
            s.UtilizeState(state);
        else
            throw new ArgumentException("NextPage is not ISwitchable! "
              + nextPage.Name.ToString());
    }
}
//主菜单中的部分代码

private void OriginCovering_Click(object sender, RoutedEventArgs e){
   Switcher.Switch(new OriginCovering());
}
//代码的一部分在OriginCovering中

public void UtilizeState(object state){
  throw new NotImplementedException();
}

MVVM?多视图,1视图模型;)??我不明白你的意思