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

不登对 2025-01-10 19:43:25

自定义了一个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}" />
...全文
19 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

8,752

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧