Хорошо, я пытаюсь понять WPF и популярный шаблон MVVM.
Теперь у меня есть эта проблема.Я использую элемент управления ленты с несколькими вкладками.В моей ViewModel у меня есть свойство "ActiveTab (строка)", которое должно отражать активную в данный момент вкладку.
Поскольку у ленты управления нет свойства, отображающего эту информацию, я не могу с ней связаться.
Итак, я подумал:
Я мог бы связать выбранное событие следующим образом:
<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>
Затем в codebehind установить свойство в viewmodel, используя Activetab = sender.Label * 1012.*
Но тогда мне понадобится ссылка на мою модель представления в коде позади моего представления.
Я пытаюсь решить эту проблему без использования какого-либо кода позади файлов.(MVVM).
Теперь реальный вопрос: Возможно ли как-то использовать триггер событий или установщик событий.что, когда выбранное событие запускается.Сеттер автоматически устанавливает для свойства activetab значение sender.Label?.
Использование только xaml.
- Мои извинения за мой довольно плохой английский и, возможно, нубистский вопрос.Я очень новичок в wpf =)
ОБНОВЛЕНИЕ: Как я только что узнал, на ленте Tab есть свойство 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 находится в моей viewmodel, а не в ribbonTab ...
Как я могу сделать установщик, установить свойство на моей viewmodel со значением вкладки?=)
Заранее спасибо !!