在WPF应用程序中创建新的类/文件管理

时间:2020-02-05 19:20:28

标签: c# wpf xaml

我是WPF应用程序开发的新手。

对于我当前的项目,我一直在MainWindow.xaml.cs中编写所有代码,但是它变得非常长(当前370行)。

我的猜测是,分离代码的最佳方法是创建单独的类,在MainWindow.xaml.cs中创建该类的实例,然后从那里访问其功能。

这是一个例子:

namespace Outrun.Source
{
    public class Saver : MainWindow
    {
        public void SaveTaskList()
        {
            //Put all tasks in a list of strings.
            List<string> tasks = new List<string>();

            for (int i = 0; i < taskListBox.Items.Count; i++)
            {
                tasks.Add(taskListBox.Items[i].ToString());
            }

            //Write all tasks to a .txt file.
            string path = AppDomain.CurrentDomain.BaseDirectory + "OutrunSaveFile.txt";

            for (int i = 0; i < tasks.Count; i++)
            {
                File.WriteAllLines(path, tasks);
            }
        }
    }
}

我遇到的问题是要访问在MainWindow.xaml.cs中使用的函数和类。当前,因为我从MainWindow继承,所以我可以访问SaveTaskList()函数中的ListBox元素。

这是分隔C#代码的正确方法吗?如果不是,最好的分离c#代码的方法是什么,这样我的MainWindow.xaml.cs不会太长地出现wwwaaayyyy?

1 个答案:

答案 0 :(得分:0)

WPF应用程序的最佳方法是使用MVVM模式。周围有很多教程,所以您应该看一下。

使用这种模式,您的ViewModels包含交互和表示所需的数据和命令,视图(大多数情况下)只是纯XAML,您可以使用数据绑定将它们连接起来。在这种情况下,您不需要访问ListBox元素,只需将数据放入ObservableCollection中,然后让数据绑定完成其工作即可。