Включить элемент tabitem через привязку
Я хочу использовать в MVVM приложения, где разные страницы TabItems.
Для этого я использую наблюдаемую коллекцию моделей моего представления (элементов) и привязываю ее к элементу tabcontrols ItemSource.
Для каждой модели представления я создал индивидуальный шаблон данных для отображения правильного представления следующим образом:
<DataTemplate DataType="{x:Type baseVm:AViewModel}">
<baseVw:AView />
</DataTemplate>
Чтобы отобразить правильное имя в заголовке вкладки, я создал другой шаблон данных, который будет применяться к каждому элементу элемента управления tab:
<DataTemplate x:Key="ViewModelTabTemplate">
<DockPanel>
<ContentPresenter Content="{Binding Path=Name}"/>
</DockPanel>
</DataTemplate>
Элемент управления tab выглядит так:
<TabControl x:Name="myTabControl"
ItemsSource="{Binding Items}"
ItemTemplate="{DynamicResource ViewModelTabTemplate}">
</TabControl>
Теперь я хочу включить / отключить вкладки в модели представления, содержащей коллекцию. Базовый класс модели представления содержит свойство зависимости IsEnabled, и я хотел бы привязать его к представлениям. Если я делаю это прямо в представлении, как это:
IsEnabled="{Binding IsEnabled, FallbackValue=true}"
Содержимое вкладки отключается, когда я перевожу свойство IsEnabled в false. Но то, что я действительно хочу, это также отключить вкладку tabpage, а не только содержание.
Спасибо за любую помощь!