Хорошо, я пытаюсь понять WPF и популярный шаблон MVVM.
Теперь у меня есть эта проблема. Я использую ленточный элемент управления с несколькими вкладками. В моей ViewModel у меня есть свойство ActiveTab (string), которое должно отражать текущую активную вкладку.
Поскольку ленточный элемент управления не имеет свойства, отображающего эту информацию, я не могу к нему привязаться.
Итак, я подумал:
Я мог бы привязать выбранное событие следующим образом:
<r:RibbonTab Label="tab1" Selected="RibbonTab_Selected"></r:RibbonTab>
<r:RibbonTab Label="tab2" Selected="RibbonTab_Selected"></r:RibbonTab>
<r:RibbonTab Label="tab3" Selected="RibbonTab_Selected"></r:RibbonTab>
<r:RibbonTab Label="tab4" Selected="RibbonTab_Selected"></r:RibbonTab>
<r:RibbonTab Label="tab5" Selected="RibbonTab_Selected"></r:RibbonTab>
Затем в выделенном коде установите свойство в модели просмотра с помощью Activetab = sender.Label
Но тогда мне понадобится ссылка на мою модель представления в коде моего представления.
Я пытаюсь решить эту проблему без использования кода файлов. (MVVM).
Теперь реальный вопрос: возможно ли каким-то образом использовать триггер события или средство задания событий. это когда запускается выбранное событие. Установщик автоматически устанавливает для свойства activetab значение sender.Label ?.
Только с использованием xaml.
- Мои извинения за мой довольно плохой английский и, возможно, нубический вопрос. Я новичок в wpf =)
ОБНОВЛЕНИЕ. Как я только что узнал, на ленте есть свойство isSelected.
Теперь у меня есть проблемы с тем, как привязать его к свойству в моей модели просмотра.
Я пробовал следующий код:
<Style TargetType="{x:Type r:RibbonTab}">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="{Binding SelectedTab}" Value="{Binding RelativeSource=Self, Path=Label}" />
</Trigger>
</Style.Triggers>
</Style>
Но это не работает:
Error 1 Cannot find the Style Property 'SelectedTab' on the type 'Microsoft.Windows.Controls.Ribbon.RibbonTab'.
SelectedTab offcourse находится в моей модели просмотра, а не в tapeTab ...
Как я могу сделать сеттер, установить свойство в моей модели просмотра со значением вкладки? знак равно
Заранее спасибо!!