2012-05-24 298 views
0

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

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

我附加了一个更改回调到dependencyproperty,并且在那里我看到所有属性都具有相同的值。但是,如果我绑定中心属性比我看到它更新正确。

我们结合对类似这样的定制控件的属性:

<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())); 

任何人都知道,为什么不更新的BoundingBox属性时LocationRectangle是在地图上更新?

+0

您没有解释问题是什么:我假设问题是当Map中的BoundingRectangle属性发生更改时,自定义控件中的BoundingBox属性不会更新。这是问题吗?如果是:是Map的依赖项属性中的BoundingRectangle属性?如果它不是一个依赖属性:Map实现INotifyPropertyChanged吗? – 2012-05-24 15:32:03

+0

你说得对,我已经更新了这个问题。我正在使用内置的Microsoft Bing Maps控件,有没有办法检查BoundingRectangle属性是否是依赖项属性? – ChristiaanV

+0

如果文档提到名为'BoundingRectangleProperty'的字段,那么它是一个依赖项属性。否则,这是一个普通的财产。 – 2012-05-24 19:05:53

回答

0

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

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

相关问题