void New() { var dialog = new NewTagWindow(); var allDefs = _schemaManager.GetAllMetaDataDefinitions(); allDefs = allDefs.OrderBy(x => x.DisplayName).ToList(); NewTagWindowViewModel model = new NewTagWindowViewModel(); model.Items = new ObservableCollection <DbTableDefinition>(allDefs); dialog.DataContext = model; var res = dialog.ShowDialog(); if (res.HasValue && res.Value == true) { var newItem = new MetaDataTagItemViewModel(model.SelectedItem, _schemaManager); _data.Tags.Add(newItem); } dialog.DataContext = null; }