2011-04-25 2 views
1

Visual Studio 2010 & Expression Blend 4를 사용하고 있습니다. 대상은 Windows Phone 7 플랫폼입니다.Windows Phone 7 사용자 정의 ControlTemplate의 노출 속성

사용자 지정 컨트롤 (특히 사용자 지정 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 example입니다.
이제이 템플릿을지도에서 "사용할"때 예상대로 표시되지만 한 가지 문제가 있습니다. TextBlock의 Text 속성 (이 경우 ... PushPin에 이미지를 넣으면 ImageSource가 될 수 있음)이 Expression Blend의 속성 패널에서 변경 될 수 있으며 C# 코드에서 "뒤에 "XAML - 당연히이 PushPin의 각"인스턴스 "에 대해 별도로

필자가 아는 한, 종속성 속성을 사용하여 뭔가를해야한다. (나는 틀릴 수도 있겠는가?) 그러나 정확히 무엇이 어디서 (C#/XAML), 왜 (WHO) 나는해야한다고 강조해야했다).
나는 전화 7 "주제"의 대부분을 파악했으나 여기에 표시된 것처럼 리소스와 데이터 바인딩과 관련하여 조금 붙어있다. :)

누군가가 훌륭한 튜토리얼에 대한 샘플 코드 나 링크를 제공 할 수 있다면 나는 감사 할 것입니다. 감사!

답변

0

코드로 사용자 정의 컨트롤 속성을 설정하려는 경우 일반 속성을 사용할 수 있습니다. 그러나 속성에 바인딩하려는 경우 종속성 속성을 사용해야합니다.

좋은 예 here

+0

예,이 ** 정확히 ** 내가 종속성 속성을 통해 _InfoText_ 속성을 "노출"이 예에서는 :)하고 싶었던 것. 감사! – jvincek