如何将Canvas绑定到Silverlight中的项集合

如何将Canvas绑定到Silverlight中的项集合,第1张

概述背景 我有一组想要在画布上绘制的对象.这些对象中的每一个都有一个DateTime属性,该属性确定该对象在画布上沿x轴的位置.每个对象还有一些其他属性,用于确定需要在画布上绘制的图像.我想要实现的最重要的功能是,随着时间的推移,第二个表示对象的这些图像将沿着x轴移动.换句话说,画布的右侧垂直边界将始终表示当前时间(例如DateTime.Now),并且集合中的对象需要更新它们相对于该边界在画布上的位置 背景

我有一组想要在画布上绘制的对象.这些对象中的每一个都有一个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中的项集合所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1005389.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存