<ItemsControl Name="workingCardsPanel">
<ItemsControl.Triggers>
<Trigger SourceName="workingCardsPanel" Property="HasItems" Value="True">
<Setter TargetName="workingCardsPanel" Property="BorderThickness" Value="1"/>
<Setter TargetName="workingCardsPanel" Property="BorderBrush" Value="#FF828790"/>
</Trigger>
</ItemsControl.Triggers>
<ItemsControl.Style>
<Style TargetType="ItemsControl">
<Style.Triggers>
</Style.Triggers>
</Style>
</ItemsControl.Style>
<ItemsControl.Items>
<ListBoxItem><TextBlock Text="Hello world!"/></ListBoxItem>
</ItemsControl.Items>
</ItemsControl>当ItemsControl包含项时,我希望将其BorderThickness和BorderBrush设置为相应的值,如上所述。
但是,代码是不可编译的。
当我将setter移到Style.Triggers时,我已经做到了这一点。我只想知道ItemsControl.Triggers能不能做到。或者如果它不能,ItemsControl.Triggers用来做什么?
还有一个问题。
<ItemsControl>
<ItemsControl.Triggers>
<Trigger Property="HasItems" Value="True">
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="BorderBrush" Value="#FF828790"/>
</Trigger>
</ItemsControl.Triggers>我想知道是否有可能所有属性(HasItems、BorderThickness和BorderBrush)都引用没有名称的控件。(因为ItemsControl现在没有名称。)
谢谢。
发布于 2012-07-04 12:34:00
我可以回答我自己的问题。
在大量搜索之后,令我惊讶的是,MSDN解释了FrameworkElement.Triggers的用法。
总而言之,只有EventTrigger可以添加到FrameworkElement.Triggers中。
https://stackoverflow.com/questions/11321557
复制相似问题