【发布时间】:2013-01-12 21:46:31
【问题描述】:
我想知道正确的方法(最好看)来设置,例如,来自我的MainWindow 以外的类别的标签。
目前,我会做这样的事情:
public partial class MainWindow: Window {
public MainWindow() {
InitializeComponent();
MyClass a=new MyClass(this);
a.WriteToLabel();
}
}
class MyClass {
MainWindow parent;
public MyClass(MainWindow parent) {
this.parent=parent;
}
public void WriteToLabel() {
parent.label1.Text="Test";
}
}
但我觉得这是一种不好的做法。
当你有超过 20 个类并且都有一个 parent 的字段或属性时,感觉真的很糟糕。
你会如何解决这样的问题?
【问题讨论】:
-
我想你的意思是
a.WriteToLabel(); -
是的,这是一个错字...已编辑。谢谢!!
-
问题是为什么需要从不属于
MainWIndow的类中设置Label's文本。标签的形式是它的 Gui 的控制器,类只需要提供你想在表单中显示的内容。 -
这只是一个例子,该函数可以在主窗口中填充一个列表,也可以设置一个文本框或多个其他控件。这与标签无关......
标签: c#