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

Total Post:108

Points:756
Posted on    September-23-2013 4:07 AM

 WPF WPF 
Ratings:


 1 Reply(s)
 658  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

Points:2694
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)

        {

            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; }

}


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

Follow MindStick