0

Ok。これは単純なはずですが、答えが見つかりません。

この回答は、画鋲、特に画鋲にスタイルを使用する方法を示しています。画鋲の原点を設定します。次のコードの何が問題なのか理解できません。(XMLNSは適切に定義する必要があります。)

<Style x:Key="OwnLocationStyle"
       TargetType="Microsoft_Phone_Controls_Maps:Pushpin">
    <Setter Property="Template" Value="{StaticResource OwnLocationTemplate}"/>
    <Setter Property="PositionOrigin" Value="BottomCenter"/>
</Style>

このコードはエミュレーターでは正常に実行されますが、ExpressionBlendでエラーが発生します。

プロパティ「PositionOrigin」はDependencyPropertyではありません。マークアップで使用するには、アタッチされていないプロパティを、アクセス可能なインスタンスプロパティ「PositionOrigin」を使用してターゲットタイプに公開する必要があります。アタッチされたプロパティの場合、宣言型は静的な「GetPositionOrigin」および「SetPositionOrigin」メソッドを提供する必要があります。

Visual Studio 2010では、次のエラーが発生します。オブジェクト参照Property="PositionOrigin"が青色の下線付きのオブジェクトのインスタンスに設定されていません。

何をすべきか?なぜコンパイルして実行され、エディターがエラー/警告をスローするのか理解できません。

4

1 に答える 1

3

わかった。したがって、PositionOriginはPushpinのスタイルの一部ではないようです。コードで個別に設定する必要があります。

OwnLocation = new Pushpin()
{
    Style = App.Current.Resources["OwnLocationStyle"] as Style,
    PositionOrigin = PositionOrigin.BottomCenter
};

それがスタイルの一部として機能したのは奇妙ですが。動作は今とまったく同じでした。

于 2012-07-24T15:20:28.010 に答える