1

这更像是一个理论问题,不能以代码的方式真正显示出来。但是主题是 C# WPF。

所以我有一个从主菜单开始的应用程序,我在其中设置了一堆变量并从文件中加载一些数据等等,准备开始主程序。我希望这可用于将要打开的主窗口。

目前,在我的应用程序中,我已经通过数据上下文进行了所有设置,这是我对 MVVM 的一次尝试,对此我很陌生。这个数据上下文链接到菜单窗口,允许我设置所有必要的数据。

但是我如何才能将其提供给新窗口。据我所知,一个新的数据上下文就像一个新对象,但是在 xaml 中,所以如果我要在下一个窗口中创建一个数据上下文,那么来自它的所有信息都会不同吗?

在我学习编程的所有过程中,我一直遇到这样的问题,我在一个地方有数据,但是没有可靠的方法将它链接到多个窗口/类/对象等。

目前我有4个文件:

1 持有所有数据类

2 我的'ViewModel'里面有这些类的对象,属性更新,不要太多

3 我的带有绑定和数据上下文的菜单及其背后的代码是空的,除了一些按钮点击

4 将要使用数据的主窗口<--这是我的问题

首先,这是一种正确的方法,我应该考虑一些不同的事情吗?我可以跨两个窗口实现数据上下文吗?

所以我在主菜单窗口中设置了上下文:

<Window.DataContext>
    <local:WindowFunction x:Name="Interface"/>
</Window.DataContext>

这个链接在我的文件之间,其中包含数据对象。

class WindowFunction
{
    protected PortInfo settings = new PortInfo();
    protected FileInfo import = new FileInfo();
    protected ObservableCollection<PersonName> lanes = new ObservableCollection<PersonName>();

    public ObservableCollection<PersonName> Lane
    {
        get { return lanes; }
        set { lanes = value; }
    }

    public PortInfo Settings
    {
        get { return settings; }
        set { settings = value; }
    }

    public FileInfo Import
    {
        get { return import; }
        set { import = value; }
    }

}

我希望能够在另一个窗口中调用此信息。但是如果我创建一个新的上下文,属性路径肯定会指向其他地方吗?

4

0 回答 0