2011-05-15 88 views
5

的財產,我有以下代碼:IsSelected WPF TabItem的

<TabItem Name="tabItemGeneral"> 
    <TabItem.Triggers> 
     <Trigger Property="IsSelected" Value="True"> 
      <Setter TargetName="tabGeneralImg" Property="Source" Value="Image/tabGeneralActive.png"></Setter> 
     </Trigger> 
    </TabItem.Triggers> 
    <TabItem.Header> 
     <StackPanel Orientation="Horizontal" Margin="0,-3,0,0"> 
      <Image Name="tabGeneralImg" Source="Images/tabGeneral.png" Width="11" Height="11"></Image> 
      <Label Name="tabGeneralLbl" Content="General"></Label> 
     </StackPanel> 
    </TabItem.Header> 
    <Grid> 
     <!-- ... --> 
    </Grid> 
</TabItem> 

,但我得到,因爲它沒有限定的類型名稱 錯誤1「IsSelected」成員無效。 C:\ MyNET \ bluetooth \ iLockWPF \ iLock \ iLock \ MainWindow.xaml 63 60 iLock

編譯期間。爲什麼?

回答

8

正如CodeNaked所說,它無法直接在元素上使用屬性觸發器。您應該使用HeaderTemplate。

<TabControl> 
    <TabControl.Resources> 
     <DataTemplate x:Key="tabItemGeneralHeaderTemplate"> 
      <StackPanel Orientation="Horizontal" 
         Margin="0,-3,0,0"> 
       <Image Name="tabGeneralImg" 
         Source="Image/tabGeneralActive.png" 
         Width="11" 
         Height="11"/> 
       <Label Name="tabGeneralLbl" 
         Content="General"/> 
      </StackPanel> 
      <DataTemplate.Triggers> 
       <DataTrigger Binding="{Binding Path=IsSelected 
           ,RelativeSource={RelativeSource TemplatedParent}}" 
          Value="True"> 
        <Setter TargetName="tabGeneralImg" 
          Property="Source" 
          Value="Images/tabGeneral.png"/> 
       </DataTrigger> 
      </DataTemplate.Triggers> 
     </DataTemplate> 
    </TabControl.Resources> 
    <TabItem Name="tabItemGeneral" 
      HeaderTemplate="{StaticResource tabItemGeneralHeaderTemplate}"> 
     <Grid> 
      ... 
     </Grid> 
    </TabItem> 
</TabControl> 
0

您是否需要使用TabItem.IsSelected?

<Trigger Property="TabItem.IsSelected" Value="True"> 
    <Setter TargetName="tabGeneralImg" Property="Source" Value="Image/tabGeneralActive.png"> 
    </Setter> 
</Trigger> 
+0

它表示「Source」成員無效,因爲它沒有合格的類型名稱。「現在 – 2011-05-15 16:42:11