我在接下来的几天里开始一个相当大的项目,我想到了创建项目的最佳方式。现在我对控制有一个重要的问题,我不知道实现它的最佳方式是什么。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