我在接下來的幾天裏開始一個相當大的項目,我想到了創建項目的最佳方式。現在我對控制有一個重要的問題,我不知道實現它的最佳方式是什麼。WPF Simple DataMatrix
我有一個led燈矩陣。 (32x16 LED)。這些必須顯示在一個網格中,現在是棘手的部分。我必須能夠與他們做很多事情。舉例來說,我必須能夠輕鬆地訪問數據綁定文件,可以執行一些操作,例如將它們全部右移或左移兩次,或者反轉它們等等。
我想過這樣在itemcontrol顯示它們:
<ItemsControl ItemsSource="{Binding Path=Leds}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Rows="16" Columns="32"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate DataType="{x:Type local:Led}">
<Ellipse Name="ellipse" Fill="Green"/>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Path=State}" Value="Off">
<Setter TargetName="ellipse" Property="Fill" Value="Red"/>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
但是我應該如何處理在帶領鼠標點擊打開它或者。 (我正在使用MVVM) 你將如何抽象出LED中的整個網格?
有很多解決方案,但我不知道要採取哪一個?
請問您是否有一個有趣的想法來創建一個簡單而乾淨的解決方案。
屬性添加到您的帶領對象模式:也許是一個UniqueID,所以當mousedown事件發生在橢圓上,你可以處理打開/關閉,我認爲它是一個列表,所以你可以使用一些linq方法來快速處理大量開啓/關閉等 –
michele
2012-08-09 13:30:45