我有一组想要在画布上绘制的对象.这些对象中的每一个都有一个DateTime属性,该属性确定该对象在画布上沿x轴的位置.每个对象还有一些其他属性,用于确定需要在画布上绘制的图像.我想要实现的最重要的功能是,随着时间的推移,第二个表示对象的这些图像将沿着x轴移动.换句话说,画布的右侧垂直边界将始终表示当前时间(例如DateTime.Now),并且集合中的对象需要更新它们相对于该边界在画布上的位置.我对Silverlight很新,因此我有很多问题,包括以下内容.另外,我还要求遵循MVVM框架.
问题
我应该在XAML中使用什么来实现上述目标?我想过使用带有Canvas的ItemsControl作为Panel,但我不知道该怎么做,甚至不知道它是否是最佳方式.任何实际的XAML代码都会很棒.
我应该如何将对象集合绑定到画布?如果是这样,我如何随着时间的推移沿着x轴移动它们?也就是说,我希望画布在以下情况下更新:
>有添加的对象
采集;要么
>从集合中删除的对象;
要么
>现有的对象改变(例如一些
财产改变,因此需要
更改显示的图像
画布)在集合中;要么
>即使没有变化
如上所述,这些集合
对象需要每次移动
第二.
很抱歉,如果我使用了错误的术语,因为我还是Silverlight的新手.
谢谢.
解决方法 我知道这个问题有点旧,但你可以使用渲染变换 – 我正在做类似的事情;<ItemsControl ItemsSource="{Binding Notes}"> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <Canvas /> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> <ItemsControl.ItemTemplate> <DataTemplate> <border WIDth="{Binding W}" Height="{Binding H}" borderBrush="Navy" borderThickness="5" CornerRadius="10"> <TextBlock Text="{Binding Text}"/> <border.Rendertransform> <transformGroup> <... elIDed ...> <Translatetransform X="{Binding X}" Y="{Binding Y}"/> </transformGroup> </border.Rendertransform> </border> </DataTemplate> </ItemsControl.ItemTemplate></ItemsControl>总结
以上是内存溢出为你收集整理的如何将Canvas绑定到Silverlight中的项集合全部内容,希望文章能够帮你解决如何将Canvas绑定到Silverlight中的项集合所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)