2015-09-04 69 views
0

我在我的网格上有一个TabControl和一切工作正常,但系统抱怨缺少关键属性。代码编译和工作虽然。我试图添加一个x:Key属性到样式中,但之后它不再工作。有任何想法吗?WPF TabControl - IDictionary缺少关键属性错误

<TabControl x:Name="mainTabControl" BorderBrush="White"> 
     <TabControl.Resources> 
      <Style TargetType="{x:Type TabPanel}"> 
       <Setter Property="HorizontalAlignment" Value="Center" /> 
      </Style> 
      <Style TargetType="TabItem"> 
       <Setter Property="Template"> 
        <Setter.Value> 
         <ControlTemplate TargetType="TabItem"> 
          <Grid Name="Panel"> 
           <ContentPresenter x:Name="ContentSite" 
            VerticalAlignment="Center" 
            HorizontalAlignment="Center" 
            ContentSource="Header" 
            Margin="30,20"/> 
          </Grid> 
          <ControlTemplate.Triggers> 
           <Trigger Property="IsSelected" Value="True"> 
            <Setter TargetName="Panel" Property="Background" Value="LightSkyBlue" /> 
           </Trigger> 
           <Trigger Property="IsSelected" Value="False"> 
            <Setter TargetName="Panel" Property="Background" Value="White" /> 
           </Trigger> 
          </ControlTemplate.Triggers> 
         </ControlTemplate> 
        </Setter.Value> 
       </Setter> 
      </Style> 
     </TabControl.Resources> 
     <TabItem Header="Production"> 
      <Grid/> 
     </TabItem> 
    </TabControl> 
+0

你是什么意思 - 代码编译和工作,但系统抱怨缺少一个关键属性。你是否在Visual Studio的错误列表窗口中看到这个警告? – niksofteng

+0

是的,这就是为什么我没有得到什么错误。我在Visual Studio的“错误”列表窗口中将此视为错误。代码仍然编译。错误是:“添加到IDictionary中的所有对象都必须具有Key属性或与其关联的其他类型的键。” – Steven

回答

1

它只是一个警告。你可以把它加入

x:Key="{x:Type TabPanel}" 

消失,或者您可以抑制警告,如果你不希望添加一个关键属性

在解决方案资源管理器中,选择您要禁止警告项目。 在菜单栏上,选择查看,属性页面。 选择生成页面。 在抑制警告框中,指定要压缩的警告的错误代码,用分号分隔,然后重新构建解决方案。

+0

认为它可能很简单。谢谢 :) – Steven