2016-11-03 4 views
0

WPF에서는 단추를 명령에 바인딩 할 수 있습니다.WPF에서 TabItem 바인딩

<Button Command="{Binding DoSomething}">Click me!</Button> 

지금은 TabItem의에 동일한 작업을 수행 할 :

<TabItem Header="A little tab" ???="{Binding DoSomething}">...</TabItem> 

??? 무엇을해야 하는가? 아니면 다른 방법이 있을까요?

+0

달성하고자하는 것은 무엇입니까? tabheader를 클릭하거나 tabitem의 내용을 바인딩하고자 할 때 어떤 일이 발생해야합니까? –

답변

1

달성하려는 결과에 따라 다릅니다. TabItems는에 isSelected 속성 양방향을 경계 할 수

IsSelected="{Binding IsSelected}" 

을 가지고 있고, 뷰 모델에 물건을 신호하는 데 사용할 수 있습니다.

상호 작용을 사용하여 TabItem의 머리글을 무시하고 명령에 바인딩 할 수 있다는 사실을 사용할 수도 있습니다.

<TabItem TabIndex="0" 
       Tag="{Binding CurrentPrinterStatus}"> 
      <TabItem.Header> 
       <Grid Background="Transparent"> 
        <i:Interaction.Triggers> 
         <i:EventTrigger EventName="MouseDown"> 
          <i:InvokeCommandAction Command="{Binding DoSomething}"/> 
         </i:EventTrigger> 
        </i:Interaction.Triggers> 
        <TextBlock Style="{StaticResource TextBlockSelectedStyle}" 
          Text="Printers"/> 
       </Grid> 
      </TabItem.Header> 

다른 솔루션은을 TabControl의 인 selectionchanged 이벤트를 사용할 수 있습니다, 그것은 당신이 현재 선택된 TabItem의의 뷰 모델을 찾을 수 있습니다.

이 아이디어가 귀하의 문제를 해결하는 데 도움이되기를 바랍니다.

+0

접두사 "i"는 무엇을 나타 냅니까? –

+0

System.Windows.Interactivity. 그것은 대부분의 MvvM 너겟 패키지에서 찾을 수있는 어셈블리입니다. –