SAVING DATA FROM MULTIPLE TABS IN A TAB CONTROL

john rob

Total Post:108

Points:756
Posted by  john rob
WPF 
WPF
 841  View(s)
Ratings:
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)

  1. Sumit Kesarwani

    Post:378

    Points:2694
    Re: Saving data from multiple tabs in a tab control

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

    }

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!