このプロジェクトでは、いくつかの依存関係プロパティを持つカスタム コントロールを作成しました。このコントロールを使用している 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()));
マップ上で LocationRectangle が更新されたときに BoundingBox プロパティが更新されない理由を知っている人はいますか?