WPF TabItem的IsSelected属性

| 我有以下代码:
<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 \\蓝牙\\ iLockWPF \\ iLock \\ iLock \\ MainWindow.xaml 63 60 iLock 在编译过程中。为什么?     
已邀请:
正如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>
    
TabItem.Triggers集合继承自FrameworkElement,并且只能包含EventTriggers。您所拥有的无效。 触发器,MultiTriggers,DataTriggers和MultiDataTriggers只能在Style.Triggers,ControlTemplate.Triggers或DataTemplate.Triggers集合中使用。     
您是否需要使用TabItem.IsSelected?
<Trigger Property=\"TabItem.IsSelected\" Value=\"True\">
  <Setter TargetName=\"tabGeneralImg\" Property=\"Source\" Value=\"Image/tabGeneralActive.png\">
  </Setter>
</Trigger>
    

要回复问题请先登录注册