You need a data model class that exposes your data collections and selected items. It should implement the INotifyPropertyChanged interface and it should be static or implement the Singleton pattern if you will use it across multiple pages or views.
That class should expose your data collections as a property and hold a single item as the "selected" property. The selected property should make sure that it raises the PropertyChanged event when the property is set. Your UI controls will respond to that event when bound to that property.
You then need to set the data model class as your data context for the controls/page. You can either do this in the code behind by setting this.DataContext = new DataModelClass; or by declaring the data context in xaml and setting it to an instance of you data model class.
Once you have done that, you can bind the properties to the properties on the data model class. For example, for a combobox the xaml may be:
<combobox selecteditem="{Binding SelectedItem, Mode=TwoWay}" />
That tells the binding engine to wire up the selected item property on the combobox to the property on your data model class and make the relationship two way. If you do this on one tab then bind a text box or some other control on another tab (skipping the mode statement if it only needs read access) then when the selected item in the combo box is changed, the text box text on the other tab will change.
Bindings are fundamental to xaml. I would suggest you read-up on data bindings, especially some of the stuff around MVVM, to help get a better understanding. What you are asking is pretty straightforward and can be done lots of way... I've suggested one... But you need to understand each approach as it can have tradeoff in ease of development/maintenance versus performance and scalability.
You might want to check out Tim Heuer's post on data binding in Silverlight at
http://timheuer.com/blog/articles/getting-started-with-silverlight-development.aspx[
^] While it is for Silverlight, the principles are the same.