2013-10-22 20 views
0

有人可以提供一個簡單的例子,你怎麼能在ItemsControl上使用DataTriggers?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。我怎樣才能做到這一點?

回答

1

你不能在TriggerCollection中使用DataTrigger ......是的,我知道......這是瘋狂。但是,您可以之一的TriggerCollection一個Style

<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> 

UPDATE >>>

對不起,我沒有看到,TargetName在那裏。答案是將此DataTrigger代入UnifrmGrid.Style,並取消TargetName屬性,但您可能可能有一些問題BindingItems屬性...讓我知道如果您有任何問題。

+0

確實如此,但現在我無法在樣式設置器中設置目標名稱:( – Rock3rRullz

+0

工作正常,非常感謝您! – Rock3rRullz

+0

非常歡迎。這是一個會一再出現的問題......如果您可以記住只要將'DataTrigger'移動到包含其中使用的屬性的控件,就可以節省大量時間。 – Sheridan

相關問題