Невозможно неявно преобразовать тип при добавлении булавки в MapControl - PullRequest
0 голосов
/ 02 августа 2020

Я пытаюсь динамически добавить булавку в MapControl, но она не работает, несмотря на использование оператора импорта (using). new Point(0.5, 1) in NormalizedAnchorPoint = new Point(0.5, 1) возвращает следующую ошибку. Какой правильный способ решить эту проблему?

Невозможно неявно преобразовать тип 'Windows .Foundation.Point' в 'System.Drawing.Point'

MainPage.xaml.cs

using System;
using System.Collections.Generic;
using TownTraveller.Data;
using TownTraveller.UserControls;
using Windows.Devices.Geolocation;
using Windows.Foundation;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;

    public MainPage()
    {
        this.InitializeComponent();

        var mapPage = new MapPage();

        var pinUri = new Uri("ms-appx:///Images/MapPin.png");

        var myMapControl = pageMap.MyMapControl;

        var mapCenter =
           new Geopoint(new BasicGeoposition()
           {
               Latitude = 51053881,
               Longitude = -0.100239
           });
        myMapControl.Center = mapCenter;

        myMapControl.ZoomLevel = 10;

        var MapPoints = new List<PointOfInterest>();
        var mapPin1 = new PointOfInterest
        {
            PinName = "Pin1",
            DisplayName = "Place One",
            ImageSourceUri = pinUri,
            ),
            Location = new Geopoint(new BasicGeoposition()
            {
                Latitude = 51.486223,
                Longitude = -0.124474
            })

        };

        MapPoints.Add(mapPin1);
    }
}

Класс PointOfInterest

public class PointOfInterest
{
    public string PinName { get; set; }
    public string DisplayName { get; set; }
    public Uri ImageSourceUri { get; set; }
    public Point NormalizedAnchorPoint { get; set; }
    public Geopoint Location { get; set; }
}

1 Ответ

1 голос
/ 03 августа 2020

Невозможно неявно преобразовать тип 'Windows .Foundation.Point' в 'System.Drawing.Point'

Проблема в том, что свойство NormalizedAnchorPoint использует пространство имен System.Drawing. И вы можете добавить полное пространство имен Windows.Foundation.Point для NormalizedAnchorPoint, чтобы указать c его тип, как показано ниже.

public class PointOfInterest
{
    public string PinName { get; set; }
    public string DisplayName { get; set; }
    public Uri ImageSourceUri { get; set; }
    public Windows.Foundation.Point NormalizedAnchorPoint { get; set; }
    public Geopoint Location { get; set; }
}
...