0

我的任务是对现有程序进行一些更改。

其中一项更改是实现“保存”按钮。单击时,它将遍历每个选项卡并将内容保存到数据库中,但我无法弄清楚如何正确访问数据。

添加的选项卡是单独的视图,每个视图都有自己的视图模型 - 包含选项卡控件的主视图也有自己的视图模型。

我将如何访问选项卡控件,遍历每个选项卡并以有序的方式保存数据?(此时我不确定显示任何代码是否相关,但请务必请求您需要的任何内容)

4

2 回答 2

0

假设每个选项卡都支持保存更改,创建一个视图模型,它将位于选项卡视图模型之上:

// 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; }
}
于 2013-09-23T07:18:37.870 回答
0

如果我理解正确,您可以在视图模型中访问所有数据,则无需遍历选项卡控件中的选项卡。该“保存”按钮应绑定到从每个选项卡视图模型收集数据的命令。

于 2013-09-23T08:10:32.990 回答