1
<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为相应的值,如上所示。

但是代码不可编译。

当我将二传手移动到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 现在没有名称。)

谢谢你。

4

1 回答 1

0

我可以回答我自己的问题。

经过大量搜索,令我惊讶的是,MSDN解释了 FrameworkElement.Triggers 的用法。

总之,只能EventTrigger添加到FrameworkElement.Triggers。

于 2012-07-04T04:33:59.750 回答