2011-04-25 30 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