我的任务是对现有程序进行一些更改。
其中一项更改是实现“保存”按钮。单击时,它将遍历每个选项卡并将内容保存到数据库中,但我无法弄清楚如何正确访问数据。
添加的选项卡是单独的视图,每个视图都有自己的视图模型 - 包含选项卡控件的主视图也有自己的视图模型。
我将如何访问选项卡控件,遍历每个选项卡并以有序的方式保存数据?(此时我不确定显示任何代码是否相关,但请务必请求您需要的任何内容)
我的任务是对现有程序进行一些更改。
其中一项更改是实现“保存”按钮。单击时,它将遍历每个选项卡并将内容保存到数据库中,但我无法弄清楚如何正确访问数据。
添加的选项卡是单独的视图,每个视图都有自己的视图模型 - 包含选项卡控件的主视图也有自己的视图模型。
我将如何访问选项卡控件,遍历每个选项卡并以有序的方式保存数据?(此时我不确定显示任何代码是否相关,但请务必请求您需要的任何内容)
假设每个选项卡都支持保存更改,创建一个视图模型,它将位于选项卡视图模型之上:
// this is the base class for tab view models
public class DocumentViewModel
{
public void SaveChanges() {}
}
// this is the view model for tab container
public class EditorViewModel
{
private SaveChanges()
{
foreach (var document in OpenedDocuments)
{
document.SaveChanges();
}
}
public EditorViewModel()
{
SaveCommand = new RelayCommand(SaveChanges);
}
// this is your tabs
public ObservableCollection<DocumentViewModel> OpenedDocuments { get; private set; }
public ICommand SaveChangesCommand { get; private set; }
}
如果我理解正确,您可以在视图模型中访问所有数据,则无需遍历选项卡控件中的选项卡。该“保存”按钮应绑定到从每个选项卡视图模型收集数据的命令。