你可以在一组元素上声明性地设置一个属性吗?
问题描述:
如果我有一个控件中的元素集合(例如自定义ItemsControl),我可以通过资源字典中的样式在该控件的所有子元素上设置属性。例如,我想在某个触发器上设置所有这些元素的可见性。这可能是装饰性的吗?你可以在一组元素上声明性地设置一个属性吗?
干杯 Ĵ
答
当然,我们可以使用ItemsControl.ItemContainerStyle上一个ItemsControl或任何导出的控制来设置风格所含的元素。
<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>