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

マップ上で LocationRectangle が更新されたときに BoundingBox プロパティが更新されない理由を知っている人はいますか?

4

1 に答える 1

0

fmunkert が提案したドキュメントを確認したところ、Bing マップ コントロールの BoundingBox が依存関係プロパティではないことがわかりました。

ViewChanged イベントを実装し、独自の依存関係プロパティを更新するカスタム マップを作成しました。これを使用して、他のコントロールにバインドできます。

于 2012-06-06T08:00:19.850 に答える