2011-04-25 55 views
1

我正在使用Visual Studio 2010 & Expression Blend 4,目标是Windows Phone 7平台。在Windows Phone 7自定义ControlTemplate中公开属性

我想做的是一个自定义控件(特别是一个自定义的PushPin for Map,但可以是任何东西)并展示它的一些属性,以便我可以更改它们。我会试着用一个例子更好地解释:

<ControlTemplate x:Key="PushpinControlTemplate1" TargetType="Microsoft_Phone_Controls_Maps:Pushpin"> 
    <Border BorderBrush="#FF0012AD" BorderThickness="3" Background="#FF0012AD" Width="32" Height="32" CornerRadius="5"> 
     <TextBlock Text="2" FontWeight="Bold" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="32" Margin="0,-4,0,0"/> 
    </Border> 
</ControlTemplate> 

这个例子是从MSDN example
现在,当我在地图上“使用”此模板时,它会如预期般显示,但有一个问题。我希望TextBlock的Text属性(在这种情况下,例如它可以是ImageSource,如果我将图像放入PushPin中)可以在Expression Blend的属性面板中更改,并在C#代码后面“XAML - 当然,这个PushPin的每个”实例“都是分开的。 (我可能是错的?),但我还没有找到一个明确的例子显示究竟什么,哪里(C#/ XAML)和为什么(对不起,我不得不强调)必须完成。
我掌握大部分Phone 7的“话题”,但现在我有关的资源和数据绑定有点卡住,如下图所示:)

如果有人可以提供一些示例代码或一个很好的教程我一个链接将感激不尽。谢谢!

回答

0

如果您只想通过代码设置用户控件属性,则可以使用普通属性。如果您想要绑定到该属性,则必须使用依赖项属性。

很好的例子here

+0

是的,这是** **正是我想做的事:)在这个例子中“暴露”的_InfoText_属性通过依赖属性。谢谢! – jvincek 2011-04-26 09:05:14