Как предотвратить обновление содержимого после перетаскивания вкладки - PullRequest
0 голосов
/ 28 мая 2019

У меня есть TabablzControl. Его DataContext связан с MainWindowViewModel. Это MainWindowViewModel содержит свойство ListViewModels, которое является Источником Предметов TabablzControl.

ContentTemplate TabablzControl - это определенный UserControl с именем DashBoard (таким образом, DataContext каждого DashBoard - это элемент (вызов SmallViewModel) в ListViewModels) . Каждая DashBoard содержит ContentControl, привязанный к свойству CurrentViewModel объекта SmallViewModel, который соответствует каждому CurrentViewModel, и ContentControl представлен по-разному в зависимости от типа CurrentViewModel и от того, как он представлен, был определен в eesource DashBoard (который является ContentTemplate TabablzControl) .

У меня есть ViewModels (например: ViewModel1 и ViewModel2) . Когда CurrentViewModel является ViewModel1, Контент, который привязан к CurrentViewModel, будет отображать все, что определено в ресурсе (в данном случае некоторые другие UserControls) .

Я играл с IntertabClient, но это не помогло

// The TabablzControl in MainWindow:

<dragablz:TabablzControl ItemsSource="{Binding ListViewModels}">
<dragablz:TabablzControl.ContentTemplate>
<DataTemplate>
<local:DashBoard/>
</DataTemplate>
</dragablz:TabablzControl.ContentTemplate>
</dragablz:TabablzControl>

//MainWindowViewModel is the DataContext of MainWindow has a ListViewModels of type ObservableCollection<SmallViewModel>

//Dashboard.xaml is a UserControl and its DataContext is SmallViewModell:

<UserControl.Resources>
<DataTemplate DataType = "{x:Type local: ViewModel1}">
<local: UserControl1/>
</DataTemplate>
<DataTemplate DataType = "{x:Type local: ViewModel2}">
<local: UserControl2/>
</DataTemplate>
</UserControl.Resources>

<ContentControl Content ="{Binding CurrentViewModel}"/>

Проблема в том, что каждый раз, когда я перетаскиваю вкладку, UserControl1 и UserControl2 продолжают обновляться, таким образом, работа перетаскиваемой вкладки перед перетаскиванием теряется.

Может кто-нибудь сказать мне, почему и как я могу это исправить?

...