2

请让我知道以下哪一项是好的编程习惯:

1. 使用静态类,然后使用类 MainWindow 构造函数对其的引用,如下所示:

    public partial class Mainwindow : Window
    {
    public MainWindow()
    {
        InitializeComponent();
        UI.window = this;
    }

    private void button1_Click(object sender, RoutedEventArgs e)
    {   
        Shutdownads attempt1 = new Shutdownads();
    }
    }

    static class UI
    {
        public static MainWindow window; 
    }

    /*and then refering to the wpf elements from other classes as follows
       UI.window.textbox.Text="blahblah"
       UI.window.button ... and so on
    */

或者

2. 将我程序中的所有类都包含在 MainWindow 类中会更好吗?

或者

3. 有没有更好的选择(也可以实现更好的 OOP 以及我可以通过其他类访问 UI)?

4

3 回答 3

6

控制来自多个类的 UI 元素通常是不好的做法。

您应该创建一个接口,该接口公开从其他类抽象 UI 的方法和属性,并在MainWindow该类中实现该接口。

其他类可以接受该接口作为构造函数参数或从静态类中使用它。

于 2011-05-26T17:04:10.483 回答
1

好的做法是创建不耦合的代码。如果您使用这种方法,您很可能会忘记提交更改的位置......

对“远”事件做出反应的一种可能性是实现观察者模式。这样您就可以真正在表示层上处理可视化(在本例中为 MainWindow)的更改

于 2011-05-26T17:04:55.197 回答
1

我不知道确切的winforms。但是你应该遵循 mvc 模型。

通常你有你的主类(你的案例主窗口),它是控制器。所以所有视图(子元素)都由这个类控制。子元素可以持有对主窗口的引用。主要课程应该非常流畅。当然,模型也应该解耦。静态类是不好的做法。不。

于 2011-05-26T17:09:18.017 回答