2009-06-11 9 views
0

コントロールの要素のコレクション(カスタムItemsControlなど)がある場合、そのコントロールのすべての子にプロパティをリソースディクショナリのスタイルで設定できますか?例えば、私は特定のトリガーのすべての要素の可視性を設定したいと思います。これは装飾的に可能ですか?要素のコレクションに宣言的にプロパティを設定できますか?

乾杯 J

答えて

1

確かに、我々は含まれている要素のスタイルを設定するのItemsControlまたは任意の派生コントロールにItemsControl.ItemContainerStyleを使用することができます。

<Style x:Key="customStyle"> 
    <Setter Property="Control.Opacity" 
      Value=".5" /> 
    <Style.Triggers> 
     <Trigger Property="Control.IsMouseOver" 
       Value="True"> 
      <Setter Property="Control.Opacity" 
        Value="1" /> 
     </Trigger> 
    </Style.Triggers> 
</Style> 

<ItemsControl ItemContainerStyle="{StaticResource customStyle}"> 
    <ListBoxItem >Item 1</ListBoxItem> 
    <sys:String>Automaticly gets Wrapped</sys:String> 
    <ListBoxItem>Item 3</ListBoxItem> 
</ItemsControl> 
関連する問題