Home > DeveloperSection > Forums > Saving data from multiple tabs in a tab control
john rob

Total Post:108

Posted on    September-23-2013 4:07 AM


 1 Reply(s)
 637  View(s)
Rate this:

I've been tasked with making a few changes to an existing program.

One of those changes is implementing a 'save' button. When clicked, it will iterate through each tab and save the contents to a database, but I can't figure out how to access the data properly.

The tabs being added are separate views, each with their own viewmodel - the main view containing the tabcontrol also has its own viewmodel.

How would I go about accessing the tabcontrol, iterating through each tab and saving the data in an orderly fashion? (At this point I'm not sure if it's relevant to show any code, but please do request whatever you'd need)

Sumit Kesarwani

Total Post:378

Posted on    September-23-2013 6:55 AM

Hi John,

Assuming, that every tab supports changes saving, create a view model, that will be on top of tab view models:

// 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)





    public EditorViewModel()


        SaveCommand = new RelayCommand(SaveChanges);


    // this is your tabs

    public ObservableCollection<DocumentViewModel> OpenedDocuments { get; private set; }

    public ICommand SaveChangesCommand { get; private set; }


Don't want to miss updates? Please click the below button!

Follow MindStick