C#的新手,可能是一个非常基本的问题。这就是场景。
我已经创建了一个WPF项目并对所有内容进行了编码,并且一切正常。我想通过创建一个新类来整理代码并在那里传输所有方法,而不是在主类中将它们全部粉碎。但是当我去新创建的课程时,我无法访问任何信息。例如,我有一个矩形,并将其命名为“rect1”。我无法在新组建的班级中找到这个rect1。
知道我做错了什么吗?主类文件读作MainWindow.xaml.cs,其中一切正常。我在同一个项目中使用文件名Images.cs创建一个新类,其中代码不起作用。甚至创建一个类的实例,例如:
private SolidColorBrush red = new SolidColorBrush(Color.FromRgb(255, 0, 0));
返回错误。请指教。谢谢。
答案 0 :(得分:2)
如果您在此行中收到错误
private SolidColorBrush red = new SolidColorBrush(Color.FromRgb(255, 0, 0));
我很确定您忘记导入所需的命名空间并需要添加
using System.Windows.Media;
到文件的顶部。
关于rect1
不存在:它是您在XAML中添加的“组件”。因此,代码隐藏类中会自动声明成员变量。该变量仅在该类中可用。
如果您要在新课程中对rect1
执行某些操作,则需要创建该方法,以便获取可以传递rect1
(或任何其他矩形)的参数。< / p>
public void DoSomethingOnRect(Rectangle r)
{
...
}
然后使用:
调用它helperInstace.DoSomethingOnRect(rect1);
是的,这是唯一有效的方法。从不 EVER 尝试在代码隐藏类中公开rect1
变量并访问它。
答案 1 :(得分:0)
您可能已将新类中的方法声明为私有方法。尝试将其更改为“公开”。