我是一个严重的问题,我试图在MainWindow类中创建一个像这样的实例:
public MainWindow()
{
InitializeComponent();
AppWindow = this;
CalenderBackground background = new CalenderBackground(Calendar);
}
我在MainWindow中需要这个等级因为类CalenderBackground有一个方法来刷新插入日历的前一个日期,我使用this资源。
我想在课程background
中使用对象Fixtures
:
class Fixtures
{
MainWindow.Calendar.Background = background.GetBackground();
}
但实际上我无法创建,因为我无法看到变量background
,为什么?
答案 0 :(得分:0)
通过构造函数将Background对象传递到Fixtures中?:
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();
}
}
答案 1 :(得分:0)
您将背景声明为MainWindow方法范围内的变量。为了能够在Fixtures类中访问它,您需要将它作为参数传递给构造函数,然后使用它来设置一个字段,例如:
private CalenderBackground _background;
public Fixtures(CalenderBackground background)
{
_background = background;
}
或者您可以在MainWindow上创建一个公共property,并从Fixtures类中访问它。
public CalenderBackground Background {get; set;}