程序问答   发布时间:2022-05-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Xamarin 映射 observablecollection 不会更新视图大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Xamarin 映射 observablecollection 不会更新视图?

开发过程中遇到Xamarin 映射 observablecollection 不会更新视图的问题如何解决?下面主要结合日常开发的经验,给出你关于Xamarin 映射 observablecollection 不会更新视图的解决方法建议,希望对你解决Xamarin 映射 observablecollection 不会更新视图有所启发或帮助;

感谢Bind to Xamarin.Forms.Maps.Map from ViewModel,我制作了一张自定义地图。但是当我从视图模型中添加引脚时,我在视图中看不到它们。

<maps:BindableMap MapSpan="{Binding MapSpan}" Pinssource="{Binding Pins}"/>

和视图模型代码

        public ObservableCollection<Pin> Pins
        {
            get
            {
                return _pins;
            }
            set
            {
                _pins = value;
            }
        }

 Pins.Add(new Pin { Address=address,position =position,Label=label,Type=typE});

仍然看不到别针..

解决方法

地图除了ObservableCollection<Pin>添加pin外还需要添加Pin

通过添加这一行修改代码:

Pins.Add(new Pin { Address=address,Position =position,Label=label,Type=typE});
// add following line
customMap.pins.Add(new Pin { Address=address,Type=typE});

这是 Xaml 代码:

<local:CustomMap x:Name="customMap" MapType="Street" />

CustomMap 类:

public class CustomMap : Map
{
    public ObservableCollection<CustomPin> CustomPins { get; set; }
}

基于this official sample进行修改。

,

不要根据非官方文件制作自定义地图。进入官方网站: https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/custom-renderer/map-pin

和自定义渲染器(取决于你想做什么) https://docs.microsoft.com/en-us/samples/xamarin/xamarin-forms-samples/customrenderers-map-pin/

然后按照 StackOverflow 问题进行操作。 也不要把你的一半代码放在 xaml 中,一半放在 C# 中,它只会让你的代码 复杂把 c# 替代或 xaml 替代。不要将两者混合。它只会造成错误、错误或混乱。

和自定义地图:

public class CustomMap : Map
{
    public ObservableCollection<CustomPin> CustomPins { get; set; }
}

应该可以。

大佬总结

以上是大佬教程为你收集整理的Xamarin 映射 observablecollection 不会更新视图全部内容,希望文章能够帮你解决Xamarin 映射 observablecollection 不会更新视图所遇到的程序开发问题。

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

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