none
用MVVM追加项目之前的操作 RRS feed

  • 问题

  • 操作流程是这样的

    在VM中追加Object到ObservableCollection中。

    在V中通过DataTemplate来控制ItemsControl的显示。

    要用到Rendertransform,

    问题是‘

    由于RenderTransform的应用是在ObservableCollection中数据被追加之后的,

    所以我的例子里面会出现追加的Object先在没有用Transform的地方显示一下,然后转到合适的位置。

    这样的表示很糟糕,请问各位有什么办法先应用Transform然后再显示么?或者别的方法。

    2011年11月11日 7:36

答案

  • Hi,

    目前我还真没想出什么好方法,因为RenderTransform只有在元素 OnRender的时候才会被调用,所以你追加的元素只有在被绘制的时候才会应用你的变换。不过你可以考虑一下下面的方法,自定义一个 ItemContainer 然后重写他的OnRender方法,把 RenderTransform 直接就写在里面,然后你的DataTemplate就用你自己定义的这个ItemContainer ,这样就可以在OnRender的时候直接用上你的变换了。

    Sincerely,


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us
    2011年11月14日 7:38
    版主