在接下来的几天里,我将开始一个相当大的项目,我考虑了创建项目的最佳方式。现在我有一个关于控件的重要问题,我真的不知道实现它的最佳方法是什么。
我有一个 LED 灯矩阵。(32x16 LED)。这些必须显示在网格中,现在是棘手的部分。我必须能够和他们一起做很多事情。例如,我必须能够很容易地访问数据绑定的 LED 进行一些操作,例如将它们全部向右或向左移动 2 次或反转它们等等。
我想过在这样的 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>
但是我应该如何处理led上的鼠标点击来转动它或关闭它。(我正在使用 MVVM)您将如何抽象 LED 中的整个网格?
有很多解决方案,但我不知道该采取哪一个?
愿你有一个有趣的想法,如何创建一个简单而干净的解决方案。