如何在主窗口中创建实例并在另一个类中使用它
本文关键字:另一个 创建 窗口 实例 | 更新日期: 2023-09-27 18:05:23
我有一个严重的问题,我试图在MainWindow类中创建一个实例,像这样:
public MainWindow()
{
InitializeComponent();
AppWindow = this;
CalenderBackground background = new CalenderBackground(Calendar);
}
我需要主窗口中的这个距离,因为类CalenderBackground有一个方法来刷新插入到日历中的前一个日期,我正在使用这个资源。
我想在类Fixtures
中使用对象background
:
class Fixtures
{
MainWindow.Calendar.Background = background.GetBackground();
}
但实际上我不能创建这个,因为我看不到变量background
,为什么?
通过构造函数传递背景对象到fixture ?:
CalenderBackground background = new CalenderBackground(Calendar);
Fixtures fixtures;
public MainWindow()
{
InitializeComponent();
AppWindow = this;
fixtures = new Fixtures(background);
}
class Fixtures
{
public Fixtures(Background background)
{
MainWindow.Calendar.Background = background.GetBackground();
}
}
您将background声明为MainWindow方法范围内的变量。为了能够在fixture类中访问它,你需要将它作为参数传递给构造函数,然后使用它来设置一个字段,例如:
private CalenderBackground _background;
public Fixtures(CalenderBackground background)
{
_background = background;
}
或者你可以在主窗口上创建一个公共属性,并从Fixtures类中访问它。
public CalenderBackground Background {get; set;}