2
我有一個長列表選擇器,我有一個datatemplate作爲項目模板,包含圖像。我希望源代碼根據模型中的屬性進行更改。我嘗試了一個轉換器,但我不能讓它工作。LongListSelector項目模板中的圖像控件的ChangePropertyAction
現在我試着用觸發器。我有:
<Image Name="MovieThumbnail">
<i:Interaction.Triggers>
<ei:DataTrigger Binding="{Binding DataContext.IsCategoryCurrent,ElementName=LayoutRoot}" Value="true">
<ei:ChangePropertyAction TargetObject="{Binding ElementName=MovieThumbnail}" TargetName="Source" Value="{Binding Path=Image120x170}" PropertyName="Source"/>
</ei:DataTrigger>
<ei:DataTrigger Binding="{Binding DataContext.IsCategoryCurrent,ElementName=LayoutRoot}" Value="false">
<ei:ChangePropertyAction TargetObject="{Binding ElementName=MovieThumbnail}" TargetName="Source" Value="{x:Null}" PropertyName="Source"/>
</ei:DataTrigger>
</i:Interaction.Triggers>
</Image>
它的工作幾乎如何我想要它,除了圖像重複自己。在電影中有另一部電影的照片。我認爲這是因爲我通過元素名稱進行綁定,並且圖像控件具有多個實例(每個項目一個),但我認爲他們無法看到對方。任何幫助高度讚賞。
編輯:
經過進一步調查,似乎這是因爲一長串選擇的。
我先加載40個項目,然後加載另外40個項目,但第二批次的40個項目從第一批次中獲取圖片。如果我提出屬性更改的事件,則第二批次的圖片會在所有重複項目上設置。我不知道爲什麼會發生這種情況。
如果我再次加載另一個40並且在IsCategoryCurrent上再次提高屬性,則來自第3批次的圖片將被設置3次。