 <p>You can use events to update the Combobox SourceItems on a parent page that displays</p> <p>ie in your custom control or form that handles creating the new item</p> <pre><code> public static readonly RoutedEvent NewItemAddedEvent = EventManager.RegisterRoutedEvent("NewItemAdded", RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(CloseableTabItem)); public event RoutedEventHandler NewItemAdded { add { AddHandler(NewItemAddedEvent, value); } remove { RemoveHandler(NewItemAddedEvent, value); } } </code></pre> <p>private void SaveButton_Click(object sender, RoutedEventArgs e) { ProActive.Contact currentContact = (ProActive.Contact)ItemsListBox.Items.CurrentItem;</p> <pre><code> switch (MessageBox.Show("Are you sure?", "Save Changes", MessageBoxButton.YesNoCancel)) { case MessageBoxResult.Yes: if (currentContact.EntityState == System.Data.EntityState.Detached) ProActive.App.ProActiveDatabaseEntities.Contacts.AddObject(currentContact); ProActive.App.ProActiveDatabaseEntities.SaveChanges(); this.RaiseEvent(new RoutedEventArgs(NewItemAddedEvent, this)); break; } </code></pre> <p>then in the master page that displays the combo box, attach the event that fired after you 'save' the new item</p> <pre><code>ProActive.TabPagesControls.AllContactsDetailsControl cdc = new AllContactsDetailsControl(); cdc.NewItemAdded += AllContactsDetailsNewItemAdded; </code></pre> <p>then handle the event on the parent page after it gets fired to re-load the itemssource</p> <pre><code> private void AllContactsDetailsNewItemAdded(object sender, RoutedEventArgs e) { // New item added so refresh the items listbox AllContactListItemsListBox.ItemsSource = from c in ProoActive.App.ProActiveDatabaseEntities.Contacts select c; } </code></pre>