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

时间:2014-10-06 21:44:11

标签: c# wpf multithreading object state

我有多页面应用程序(WPF),我已将它用于遗传算法我的应用程序看起来像这样 enter image description here

这个多页面应用程序使用相同的逻辑完成,包含下面的链接。 http://azerdark.wordpress.com/2010/04/23/multi-page-application-in-wpf/

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

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

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());
    }
}

// MainMenu中的部分代码

private void OriginCovering_Click(object sender, RoutedEventArgs e){
   Switcher.Switch(new OriginCovering());
}

// OriginCovering中的部分代码

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

0 个答案:

没有答案