2011-02-01 15 views
2

コントロール:このコントロールは、製品ごとにタブを表示さタブ項目の変更Opaticyは、私は、データバインドタブコントロールを持っている

<TabControl ItemsSource="{Binding Products}" Name="ProductsTabControl"> 
    <TabControl.ItemTemplate> 
    <DataTemplate> 
     <TextBlock Text="{Binding Name}"/> 
    </DataTemplate> 
    </TabControl.ItemTemplate> 
</TabControl> 

、しかし私は中止製品のタブを半透明にしたいと思います(つまり、不透明度を0.2に設定します)。アイテムが自動生成されているときに、どのようにタブアイテムの不透明度プロパティを変更できますか?私はそれらをすべて変更するためにスタイルを使うことができると知っていますが、中止されたスタイルだけを変更したいと思っています。 TabControlためItemsContainerStyleで

答えて

5

、(例えばIsDiscontinued)あなたの財産にあなたがバインドDataTriggerを作成して、そこからの不透明度を設定し

<TabControl ItemsSource="{Binding Products}" Name="ProductsTabControl"> 
    <TabControl.ItemContainerStyle> 
     <Style TargetType="TabItem"> 
      <Style.Triggers> 
       <DataTrigger Binding="{Binding IsDiscontinued}" Value="True"> 
        <Setter Property="Opacity" Value="0.2"/> 
       </DataTrigger> 
      </Style.Triggers> 
     </Style> 
    </TabControl.ItemContainerStyle> 
    <TabControl.ItemTemplate> 
     <DataTemplate> 
      <TextBlock Text="{Binding Name}"/> 
     </DataTemplate> 
    </TabControl.ItemTemplate> 
</TabControl> 

更新

あなたはのコンテンツを作りたい場合中断されたタブは半透明で同じことをすることができますが、同じことをすることができます。DataTemplate

+0

これは完全に機能します。詳細な答えをありがとう。スタイルがアイテムと同じデータコンテキスト内で「実行された」ことはわかりませんでした。 – Darren

+0

@ダーレン:いいえ、問題なく、うまくいきました!受け入れられた答えとしてそれをマークすることを自由に感じてください:) –

関連する問題