在WinRT中绘制地图上的引脚

时间:2013-04-30 06:47:06

标签: c# windows-8 windows-store-apps winrt-xaml

在使用XAML和C#的Metro应用程序中,我需要在Map控件上绘制一些Pins。我找到了几个样本,所有这些样本都在代码隐藏文件中绘制了引脚(将引脚作为子代添加到地图控件中)。有可能以另一种方式吗? (类似于Windows Phone)

1 个答案:

答案 0 :(得分:1)

您可以创建从ItemsControl派生的自定义控件。它将监视ViewModel中后备ObservableCollection的更改。然后,您可以从中添加/减去引脚。

注意:这不一定是一项简单的任务。有些公司为利润创造了复杂的控制,这当然是一个更复杂的控制。这几乎是不可能的,但需要一些工作才能完成,更不用说成功了。

为了帮助您入门,它很可能需要:

  • 某种支持地图图片
  • 将Pin中的坐标转换为地图图像上的(x,y)像素坐标的能力

您很可能需要覆盖:

  • MeasureOverride:找出地图需要多少空间
  • ArrangeOverride:找出所有当前孩子的去向
  • OnDisconnectVisualChildren:删除图钉时该怎么办
  • PrepareContainerForItemOverride:为添加/删除的项目创建项目容器

然后你可以继续添加像子传输这样的东西(所以它们会弹出')。

然后,您需要做的就是设置您的VM,加载您的引脚,然后您即可参加比赛。

良好的编码!