Вешалка Bing Map с пользовательским изображением и переменным текстом

Мне нужно добавить в элемент управления BingMap одну или несколько кнопок с пользовательским статическим изображением и текстом, которые задаются в коде. Вот мой шаблон кнопки:

<ControlTemplate x:Key="PushpinTemplate" TargetType="maps:Pushpin">
    <Grid x:Name="ContentGrid"
                Width="39"
                Height="48">
                <Image Source="Images/pin.png" Stretch="None"/>
                <TextBlock Text="Text" />
     </Grid>
 </ControlTemplate>

Как сделать так, чтобы свойство TextBlock.Text можно было изменять программно? Скажем, привязать его к свойству Pushpin.Content. Спасибо.


person ibogolyubskiy    schedule 29.01.2013    source источник


Ответы (1)


Решается динамической генерацией шаблона управления.

    private ControlTemplate CreateTemplate(string image, string text)
    {
        string xaml = "<ControlTemplate xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\" xmlns:maps=\"clr-namespace:Microsoft.Phone.Controls.Maps;assembly=Microsoft.Phone.Controls.Maps\" TargetType=\"maps:Pushpin\"><Grid x:Name=\"ContentGrid\" Width=\"39\" Height=\"48\"><Image Source=\"" + image + "\" Stretch=\"None\"/><TextBlock Margin=\"14,2,0,0\" FontSize=\"20\" Text=\"" + text + "\" /></Grid></ControlTemplate>";
        ControlTemplate сt = (ControlTemplate)XamlReader.Load(xaml);
        return сt;
    }
person ibogolyubskiy    schedule 29.01.2013