2011-12-21 4 views
1

私はそれがここで行われているだけのようDataTemplateSelectorを実装しようとしている親の財産を渡したいです。しかし、これは私が望むものではありません。テンプレートを選択したいZoomLevel実装DataTemplateSelectorは何とか

なので、どういうわけかZoomLevelをクラスMobile:DevicePushpinTemplateSelectorに渡す必要があります。出来ますか?私はContent="{Binding ZoomLevel, ElementName=MainMap}"を設定して、ZoomLevelをパラメータとしてセレクタに渡しました。しかし、内部のすべてのテンプレート(DotTemplate、NumberedTemplate、DetailedTemplate)はNULLでした。そして、私はこの場合に内部のテンプレートをどのようにバインドするのか分かりません。

<m:Map x:Name="MainMap" 
      ZoomLevel="{Binding MapZoomLevel, Mode=TwoWay}"> 
      <m:MapItemsControl 
       ItemsSource="{Binding Source={StaticResource WorkLayerData}}"> 
       <m:MapItemsControl.ItemTemplate> 
        <DataTemplate> 
         <Mobile:DevicePushpinTemplateSelector Content="{Binding}"> 
          <Mobile:DevicePushpinTemplateSelector.DotTemplate> 
           <DataTemplate>          
            <Ellipse m:MapLayer.Position="{Binding Location}" 
             Width="10" Height="10" Stroke="Black" Fill="Red" StrokeThickness="2" /> 
           </DataTemplate> 
          </Mobile:DevicePushpinTemplateSelector.DotTemplate> 
          <Mobile:DevicePushpinTemplateSelector.NumberedTemplate> 
           <DataTemplate> 
            <Ellipse m:MapLayer.Position="{Binding Location}" 
              Width="10" Height="10" Stroke="Black" Fill="Red" StrokeThickness="2" /> 
           </DataTemplate> 
          </Mobile:DevicePushpinTemplateSelector.NumberedTemplate> 
          <Mobile:DevicePushpinTemplateSelector.DetailedTemplate> 
           <DataTemplate> 
            <Ellipse m:MapLayer.Position="{Binding Location}" 
              Width="10" Height="10" Stroke="Black" Fill="Red" StrokeThickness="2" /> 
           </DataTemplate> 
          </Mobile:DevicePushpinTemplateSelector.DetailedTemplate> 
         </Mobile:DevicePushpinTemplateSelector> 
        </DataTemplate> 




       </m:MapItemsControl.ItemTemplate> 
      </m:MapItemsControl> 
     </m:Map> 
+0

私と同じシナリオ - これを解決する方法を誰かの入力を知りたい –

答えて

0

あなただけDevicePushPinDataSelector上の別のプロパティを作成し、その後の結合を介して、それを埋めることができませんか?

あなたDataTemplates内のデータへのバインド
<Mobile:DevicePushpinTemplateSelector Content="{Binding}" ZoomLevel="{Binding ZoomLevel, ElementName=MainMap}"> 

は通常と同じである必要があり、彼らはあなたのItemsControlに指定されている彼らのDataContextはそうWorkLayerDataあるべき継承されます。

関連する問題