C# 带有DataTriggers的ItemsControl

C# 带有DataTriggers的ItemsControl,c#,wpf,itemscontrol,C#,Wpf,Itemscontrol,有人能提供一个简单的例子吗?如何在ItemsControl上使用DataTriggers 例如,如果我说这样的话: <ItemsControl.Triggers> <DataTrigger Binding="{Binding Items.Count}" Value="2"> <Setter TargetName="DocHost" Property="UniformGrid.Rows" Value="2"/> </DataTr

有人能提供一个简单的例子吗?如何在ItemsControl上使用DataTriggers

例如,如果我说这样的话:

<ItemsControl.Triggers>
   <DataTrigger Binding="{Binding Items.Count}" Value="2">
       <Setter TargetName="DocHost" Property="UniformGrid.Rows" Value="2"/>
    </DataTrigger>
</ItemsControl.Triggers>


它告诉我一个错误,ItemsControl需要一个事件触发器。遗憾的是,我必须在内部使用DataTriggers和ItemsControl。我该怎么做?

您不能在
触发器集合
中使用
数据触发器
。。。是的,是的,我知道。。。这太疯狂了。但是,您可以在
样式的
触发器集合中放置一个:

<ItemsControl.Style>
    <Style>
        <Style.Triggers>
            <DataTrigger Binding="{Binding Items.Count}" Value="2">
                <Setter TargetName="DocHost" Property="UniformGrid.Rows" Value="2"/>
            </DataTrigger>
        </Style.Triggers>
    </Style>
</ItemsControl.Style>


更新>>>


对不起,我没有在那里看到
TargetName
。答案是将此
DataTrigger
移动到
UnifrmGrid.Style
中,然后删除
TargetName
属性,但是绑定到
Items
属性时可能会遇到一些问题。。。如果您还有任何问题,请告诉我。

True,但现在我无法在样式设置器中设置目标名称:(非常欢迎。这是一个会反复出现的问题……如果您能记住将
DataTrigger
移动到包含其中所用属性的控件,您将节省大量时间。