У меня есть объект привязки наблюдаемой коллекции к моему представлению сетки данных. Но я не могу понять, где именно возникает проблема. Когда я связываю объекты коллекции с представлениями сетки и когда я добавляю элемент из элемента управления списком в активном представлении сетки ( Сетка, присутствующая на одной вкладке ), одновременно все виды сетки отражаются с добавленной записью во всех вкладки.
Я создал 2 модели просмотра и 2 пользовательских элемента управления. 1-й (общий вид) пользовательский элемент управления содержит элемент управления ComboBox.
2-й вид содержит Gridview.
View2.cs =
View2ViewModel _vIewModel = новый View2ViewModel (EventAggrtorService.Instance.EventAggregator, _vIewModel, DataCollection);
this.mydtGrid.ItemsSource = _vIewModel.DataCollection;
public ObservableCollection DataCollection = new ObservableCollection ();
В 1-й модели представления у меня есть событие публикации для отправки выбранного элемента из управления списком, а 2-я модель представления имеет subscriber.logic для вставки данных в сетку.
Проблема возникает, когда я нажимаю кнопку ленты (она создает новое окно и выполняет конструктор 2ndViewModel) для открытия новой вкладки, после чего новое окно подписывается на событие, которое я публикую из представления 1. следовательно, все представления вызывают логику для InsertData я выбрал в комбинированном управлении. Таким образом, во всех представлениях отображается новая запись.
public 2ndViewModel (IEventAggregator evAggrtor, ObservableCollection DataCollection)
{
this._eventAggregator = evAggrtor;
this.DataCollection =DataCollection;
SubscriptionToken token = _eventAggregator.GetEvent<SelectedItemEvent2>().Subscribe(FillLookUpObject,
Microsoft.Practices.Composite.Presentation.Events.ThreadOption.PublisherThread);
}