如何仅使用ViewModel代码在WPF中移动ItemsControl的选定项目

时间:2016-02-16 15:08:39

标签: c# wpf xaml

我目前正在开展一个项目,我将ItemsControl绑定到玩家列表以显示记分板。当列表更新并且玩家更改时,我希望玩家滑动到新位置。

这已经在每个元素上使用了TranslateTransform属性,但只有大约15-20 FPS(每帧~50-70ms),所以你看它不流畅。这是因为要重新绘制ItemsControl,我必须调用NotifyOfPropertyChange方法,以便重新绘制itselft,但它会重新绘制所有元素。

由于它只是一个显示板,我无法处理用户交互,但必须以纯代码为基础。

所以我的问题是,有没有办法重新绘制ItemsControl的特定元素,还是有另一种显示列表的方法,我可以逐个访问这些成员?

<Grid Width="500" Height="120">
        <Grid.RenderTransform>
            <TranslateTransform X="{Binding TransformHorizontal}" Y="{Binding TransformVertical}" />
        </Grid.RenderTransform>
</Grid>

这是我用于绑定到元素属性TransformHorizo​​ntal和TransformVertical的每个元素的周围网格,我可以为每个元素单独设置。

0 个答案:

没有答案