将边界矩形绑定到自定义控件依赖项属性



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

当我们调试它时,我们看到边界矩形(北、东北等)中的每个属性都具有相同的位置。如果我们检查地图上的属性,那么我们看到这些属性并不完全相同。(如预期的那样)

我已经将更改回调附加到依赖项属性,并且在那里我看到所有属性都具有相同的值。但是,如果我绑定 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()));

有谁知道为什么在地图上更新位置矩形时边界框属性不更新?

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

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

最新更新