将BoundingRectangle绑定到自定义控件依赖项属性

时间:2012-05-24 13:02:33

标签: wpf binding dependency-properties pixelsense

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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