使用c#处理多个wpf窗口

时间:2012-03-21 10:32:26

标签: c# wpf windows

我很抱歉发布这个问题,因为这个问题有很多相关科目,但不幸的是他们都没有帮助我! 所以我有一个包含两个wpf窗口的应用程序(MainWindow()和Window1()),我真正想要实现的是从MainWindow()控制window1属性。 例如,我想在每次从MainWindow点击Button1时清除window1中的列表框项目!我还希望能够完全访问从window1中出现在MainWindow中的方法,字段和属性。

2 个答案:

答案 0 :(得分:2)

您可以做的是添加允许从Window1访问MainWindow班级的公共属性/方法。

例如,如果要从Window1清除MainWindow中的列表,请将以下方法添加到Window1

public void ClearList()
{
    // Clear your list here
}

当然,您需要MainWindow了解Window1,但顾名思义,我认为MainWindow是主窗口,因此会创建Window1实例

因此,您应该在Window1中引用MainWindow。在MainWindow中,只需致电:

this.myWindow1.ClearList();

答案 1 :(得分:1)

问题出在哪里?我没有看到任何问题。

也许你想首先在MainWindow中保存一个Window1的引用。

Window1 window1 = new Window1();
window1.show();

从那里做你需要做的事:

window1.foo();
window1.bar();
window1.foobar = "Title";

编辑:一些澄清,因为OP似乎是一个初学者:

public class MainWindow
{

    private Window1 window1;

    public void CreateWindow()
    {
         window1 = new Window1();
         window1.show();
    }

    private void DoStuffWithWindow1()
    {
         window1.foo();
         window1.bar();
         window1.foobar = "Title";
    }
}