silverlight   发布时间:2022-05-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何将Canvas绑定到Silverlight中的项集合大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

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

我有一组想要在画布上绘制的对象.这些对象中的每一个都有一个datetiR_670_11845@e属性,该属性确定该对象在画布上沿x轴的位置.每个对象还有一些其他属性,用于确定需要在画布上绘制的图像.我想要实现的最重要的功能是,随着时间的推移,第二个表示对象的这些图像将沿着x轴移动.换句话说,画布的右侧垂直边界将始终表示当前时间(例如datetiR_670_11845@e.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中的项集合所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。