c# - 无法在新类中使用矩形

时间:2013-11-21 12:23:15

标签: c# wpf

C#的新手,可能是一个非常基本的问题。这就是场景。

我已经创建了一个WPF项目并对所有内容进行了编码,并且一切正常。我想通过创建一个新类来整理代码并在那里传输所有方法,而不是在主类中将它们全部粉碎。但是当我去新创建的课程时,我无法访问任何信息。例如,我有一个矩形,并将其命名为“rect1”。我无法在新组建的班级中找到这个rec​​t1。

知道我做错了什么吗?主类文件读作MainWindow.xaml.cs,其中一切正常。我在同一个项目中使用文件名Images.cs创建一个新类,其中代码不起作用。甚至创建一个类的实例,例如:

private SolidColorBrush red = new SolidColorBrush(Color.FromRgb(255, 0, 0));

返回错误。请指教。谢谢。

2 个答案:

答案 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)

您可能已将新类中的方法声明为私有方法。尝试将其更改为“公开”。