请教一下 WPF关于元素绑定后,更新位置信息,刷新慢的问题。

不登对 不登对 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

自定义了一个listbox,容器是Canvas,listbox的item绘制在Canvas中,item的位置通过设置Canvas.Top和Canvas.Left来确定。但是数据多了之后(几百个item),在拖动地图或者缩放时,要重新计算item的位置,在后台算完坐标后,item的位置更新不及时,有的item即时更新位置了,有的item要慢一两拍才重绘到更新后的位置上。该怎么处理呢?

<controls:MyListView x:Name="MyDisplayControl"
         ClipToBounds="True"            
         ItemContainerStyle="{StaticResource MyListViewItemStyle}"
         VirtualizingStackPanel.IsVirtualizing="True"
         VirtualizingStackPanel.VirtualizationMode="Recycling">
    <controls:MyListView.ItemsPanel>
        <ItemsPanelTemplate>
            <Canvas />
        </ItemsPanelTemplate>
    </controls:MyListView.ItemsPanel>
</controls:MyListView>
<!--通过绑定的方式来更新Item的位置-->
<Setter Property="Canvas.Top" Value="{Binding Path=ViewPoint, Converter={StaticResource PositionConverter}, ConverterParameter=Y}" />
<Setter Property="Canvas.Left" Value="{Binding Path=ViewPoint, Converter={StaticResource PositionConverter}, ConverterParameter=X}" />
...全文

相关推荐

评论 1
收藏 已收藏
分享
返回顶部
不登对
WPF/Silverlight 8,757 成员 12,031 内容