Нет ничего плохого в вашем "временном" решении. Я бы сделал это так же.
Кроме того, вы можете публично выставить два объекта и затем передать MainWindow
в SlaveWindow
:
class MainWindow : ...
{
public MyClass1 MyObject1 { get; private set; }
public MyClass1 MyObject2 { get; private set; }
...
var slaveWindow = new SlaveWindow(this);
...
}
class SlaveWindow : ...
{
public SlaveWindow(MainWindow mainWindow)
{
mainWindow.MyObject1.SomeMethod();
mainWindow.MyObject2.SomeMethod();
}
}
Какое решение предпочтительнее, вероятно, зависит от природы ваших двух объектов. Но я думаю, что можно с уверенностью сказать, что ваше текущее решение просто отлично.