2013-08-06 1 views
1

Как говорится в названии, я бы хотел, чтобы была выбрана первая вложенная кнопка (эта кнопка выбирает представление) при нажатии элемента табуляции. Вот мой код ниже:Сделать TabItem выбрать первую вложенную кнопку при нажатии (WPF MVVM)

 <TabItem Header="Scheduling"> 
      <StackPanel Style="{StaticResource ResourceKey=TabStackPanelStyle}"> 
       <RadioButton Command="{Binding BookResourceCommand}" Style="{StaticResource ResourceKey=TabButtonStyle}">Book</RadioButton> 
       <RadioButton Command="{Binding NewResourceCommand}" Style="{StaticResource ResourceKey=TabButtonStyle}">New</RadioButton> 
       <RadioButton Command="{Binding EditResourceCommand}" Style="{StaticResource ResourceKey=TabButtonStyle}">Edit</RadioButton> 
       <RadioButton Command="{Binding DeleteResourceCommand}" Style="{StaticResource ResourceKey=TabButtonStyle}">Delete</RadioButton> 
      </StackPanel> 
     </TabItem> 

Этот TabItem сидит в TabControl с еще несколько аналогичных TabItems. Все, что я хочу сделать, это заставить TabItem выбрать первый RadioButton (по умолчанию), когда он щелкнут. Эти переключатели меняют пользовательский элемент управления в моей модели ViewModel.

Я знаю, что было бы возможно использовать EventTriggers, связанный с TabItem, но должен быть лучший способ.

Спасибо!

ответ

2

Я думаю, что в этой ситуации вы можете использовать Binding:

TabItem

<TabItem x:Name="MyTabItem" Header="Two"> 
    <Label Content="Some Content" /> 
</TabItem> 

RadioButton

<RadioButton Name="MyButton" Content="Two" IsChecked="{Binding ElementName=MyTabItem, Path=IsSelected}" /> 

Если вы хотите быть, когда вы нажимаете на RadioButton, вкладка не выбрано, использовать Mode=OneWay:

<RadioButton Name="MyButton" IsChecked="{Binding ElementName=MyTabItem, Path=IsSelected, Mode=OneWay}" /> 
+0

Если пользователь выбирает другую радиокнопку, а затем циклически перемещается между этой вкладкой и другой, это приведет к сбросу выбора пользователя. Не уверен, что это то, что предназначено или нет. – Shoe

+0

Ну, как я понимаю, если у него есть 4 вкладки, например, кнопка выбрана на выбранной вкладке. Например: Tab Books, кнопка текущей вкладки - книги. –

+0

Вышеупомянутая кнопка выбирает кнопку, однако команда, связанная с этой кнопкой, не срабатывает. Мне нужна команда для запуска, потому что эта команда показывает UserControl. – francisg3

Смежные вопросы