2016-11-03 89 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的標題,並使用Interactivity將其綁定到命令。

<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

前綴「我」代表什麼? –

+0

System.Windows.Interactivity。這是一個可以在大多數MvvM nuget包中找到的程序集。 –