我是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?
答案 0 :(得分:0)
WPF应用程序的最佳方法是使用MVVM模式。周围有很多教程,所以您应该看一下。
使用这种模式,您的ViewModels包含交互和表示所需的数据和命令,视图(大多数情况下)只是纯XAML,您可以使用数据绑定将它们连接起来。在这种情况下,您不需要访问ListBox元素,只需将数据放入ObservableCollection中,然后让数据绑定完成其工作即可。