2011-05-15 23 views
5

tengo el siguiente código:propiedad IsSelected de 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> 

pero me da error 1 miembro IsSelected 'no es válida porque no tiene un nombre de tipo de clasificación. C: \ MyNET \ bluetooth \ iLockWPF \ iLock \ iLock \ MainWindow.xaml 63 60 iLock

durante la compilación. ¿Por qué?

Respuesta

8

Como dijo CodeNaked, no puede usar activadores de propiedades directamente en los elementos. Deberías usar HeaderTemplate en su lugar.

<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

¿Necesita usar TabItem.IsSelected?

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

dice que el miembro "'Fuente" no es válido porque no tiene un nombre de tipo calificado. "En este momento –

Cuestiones relacionadas