0
我基於從後端接收的一些數據將圖像動態加載到畫布上。我有一個數據結構,看起來像這樣:Silverlight:對ItemsControl中的某些條件匹配的所有項目應用效果
ID: 1 GROUP: A X: 10 Y: 10
ID: 2 GROUP: A X: 20 Y: 20
ID: 3 GROUP: A X: 30 Y: 30
ID: 4 GROUP: B X: 40 Y: 40
ID: 5 GROUP: B X: 50 Y: 50
ID: 6 GROUP: C X: 60 Y: 60
我加載此數據爲ItemsControl
,看起來是這樣的:
<ItemsControl ItemsSource="{Binding MyDataSet}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Canvas>
<Image Height="10" Width="10"
Source="/someImage.png"
Canvas.Left="{Binding X}"
Canvas.Top="{Binding Y}"
MouseEnter="Image_MouseEnter"
MouseLeave="Image_MouseLeave" />
</Canvas>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
的圖像顯示在Canvas
就好了。當用戶將鼠標放在圖像上時,Image_MouseEnter
事件處理程序將圖像替換爲另一個「高亮」圖像。 Image_MouseLeave
方法交換圖像。這也工作得很好。
什麼我要要做的也是使用「突出顯示」圖像的每個其他圖像具有相同GROUP
隨着圖像已經懸停。因此,如果我將鼠標置於ID: 1 GROUP: A
的圖像上,它應該換出ID爲2和3的圖像。
爲了使事情更有趣,我還使用了MVVM。 :)
有什麼建議嗎?
這當然有幫助。非常感謝。 :) –