0

好的。这应该很简单,但我找不到答案。

这个答案显示了如何将样式用于图钉,尤其是。设置图钉的原点。我无法弄清楚以下代码有什么问题。(应正确定义 XMLNS。)

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

此代码在模拟器上运行良好,但在 Expression Blend 中出现错误:

属性“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 回答