2012-01-25 46 views
0

反對我與這些屬性的對象:從觸發綁定在收集

1

IsLightOnVal是2場集合:字符串中華人民共和國的國家名稱和布爾的值,我們可以看到在第二個畫面:

2

在我對象的控件模板,我想創建一個觸發器:當我的第一個對象在我的收藏價值是真實的,那麼做這個....

我可以很容易地從我的財產IsLightOnVal1和IsLightOnVal1的第一張照片,但我無法訪問我的收藏。

因此,這是工作的罰款:

<Trigger Property="IsLightOnVal1" Value="True"> 
    <Setter Property="Foreground" TargetName="tkValue1" Value="{StaticResource Amber}"/> 
</Trigger> 

但是,當我嘗試用收集的東西,我從來沒有訪問,我想:

<Trigger Property="{Binding IsLightOnVal[0].Value, RelativeSource={RelativeSource AncestorType=NameSpace:MyObject}}" Value="True"> 
    <Setter Property="Foreground" TargetName="tkValue1" Value="{StaticResource Amber}"/> 
</Trigger> 

但觸發的屬性似乎不是不接受綁定...

任何人都有解決方案嗎?

+0

括號語法應該是有效的,你確定你的RelativeSource路徑處於工作狀態? 在輸出窗口中是否有綁定錯誤? – SvenG

+0

錯誤是:無效的XA​​ML。就是這樣...我嘗試了DataTrigger,沒有錯誤,但似乎沒有工作。 – mlemay

回答

2

常規Triggers旨在用於UI元素屬性。如果你想立足於綁定值觸發你需要使用一個DataTrigger

<DataTrigger Binding="{Binding IsLightOnVal[0].Value, RelativeSource={RelativeSource AncestorType=NameSpace:MyObject}}" Value="True"> 
    <Setter Property="Foreground" TargetName="tkValue1" Value="{StaticResource Amber}"/> 
</DataTrigger> 
+0

感謝Rachel,正確的代碼是: Setter Property =「Foreground」TargetName =「tkValue1」 Value =「{StaticResource Amber}」/> mlemay