0

在我们的项目中,我们创建了一个具有一些依赖属性的自定义控件。在我们使用此控件的 xaml 页面上,我们将 Map 控件的 BoundingRectangle 属性绑定到此自定义控件,以便我们可以在自定义控件中使用这些 LocationRect 对象。

当我们对此进行调试时,我们看到 BoundingRectangle(North、NorthEast 等)中的每个属性都具有相同的位置。如果我们检查地图上的属性,我们会发现这些属性并不完全相同。(如预期)

我已将更改回调附加到依赖属性,并且在那里我看到所有属性都具有相同的值。但是,如果我绑定 Center 属性,我会看到它正确更新。

我们将属性绑定到自定义控件上,如下所示:

<CustomControls:MiniMap Name="SmallMap" BoundingBox="{Binding ElementName=Map, Path=BoundingRectangle}" />

这是我们的依赖属性:

 public static readonly DependencyProperty BoundingBoxProperty =
            DependencyProperty.Register("BoundingBox", typeof(Location), typeof(MiniMap), new UIPropertyMetadata(new LocationRect()));

任何人都知道为什么在 Map 上更新 LocationRectangle 时没有更新 BoundingBox 属性?

4

1 回答 1

0

按照 fmunkert 的建议检查了文档,发现 Bing 地图控件上的 BoundingBox 不是依赖属性。

我们创建了一个自定义映射,它实现了 ViewChanged 事件并更新了我们自己的依赖属性,我们现在可以使用它来绑定到我们的其他控件。

于 2012-06-06T08:00:19.850 回答