再次提出一个可能会采用多种方法的问题。我正在一个窗口内创建一个对象,并且希望能够从其他窗口引用该对象的方法。
现在,在操作对象之前,我需要进行Windows的类型转换。我正在使用寄存器名称,找到它们,并最终指向我的对象,以便可以调用其方法。似乎有更简单的方法,但这是到目前为止我所知道的唯一方法。
这是我用来称呼我的对象的东西:
public void delSwatch(object sender, RoutedEventArgs e)
{
File_Tools.removeColour(this._name);
MainWindow mw = (MainWindow)Application.Current.MainWindow;
Settings sw = (Settings)mw.FindName("SettingsWindow");
Color_Picker sc = (Color_Picker)sw.FindName("colorPicker");
sc.fillSwatches();
}
File_Tools 正在调用一个静态类,该类用于存储用于各种文件读写的所有方法。
MainWindow ,然后为MainWindow调用引用“ mw”。
设置,然后调用在应用程序中创建的打开的“设置”窗口。该窗口在打开时会在MainWindow中注册其名称,以便以后引用。
Color_Picker ,然后最终获取我在SettingsWindow中创建的Color_Picker对象,以便可以开始使用其包含的方法。
似乎很多重复的代码可以在某处最小化,或者创建一个以某种方式调用的子例程,以便我可以修剪很多代码。欢迎所有帮助和想法-我只是想知道C#是否已经为我遗失了某种内置方法,或者是否有更简便的方法来调用Windows /对象。
谢谢!