Предоставить свойство в Windows Phone 7 пользовательский ControlTemplate - PullRequest
1 голос
/ 26 апреля 2011

Я использую Visual Studio 2010 & Expression Blend 4, целью является платформа Windows Phone 7.

Я хотел бы создать собственный элемент управления (в частности, пользовательский PushPin для карты, но он может бытьчто-нибудь) и выставить некоторые из его свойств, чтобы я мог изменить их.Я попытаюсь объяснить лучше с примером:

<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 пример .
Теперь, когда я "использую" этот шаблон на карте, онпоказывает, как ожидалось, но с одной проблемой.Мне бы хотелось, чтобы свойство Text объекта TextBlock (в данном случае ... например, это мог быть ImageSource, если я поместил изображение в PushPin), можно было изменить на панели свойств Expression Blend и в коде C # «позади».«XAML - конечно, для каждого« экземпляра »этого PushPin отдельно.

Насколько я знаю, он должен что-то делать со свойствами зависимости (я могу ошибаться?), но мне еще предстоитнайти четкий пример, показывающий, что именно, ЧТО, ГДЕ (C # / XAML) и ПОЧЕМУ (извините, я должен был подчеркнуть) должно было быть сделано.
Я понял большинство «тем» Phone 7, но теперь я немного застряло ресурсах и привязках данных, как показано здесь:)

Если кто-то может предоставить пример кода или ссылку на хороший учебник, я был бы признателен.Спасибо!

1 Ответ

0 голосов
/ 26 апреля 2011

Если вы хотите просто установить свойство пользовательского элемента управления по коду, вы можете использовать обычное свойство. Однако, если вы хотите привязать к свойству, вы должны использовать свойство зависимости.

Хороший пример здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...