2014-12-03 1 views
5

Ich habe eine Karte Steuerung mit Kartenelementen wie folgt gebunden:Bindung EntranceThemeTransition Eigenschaften von Grid in MapItemsControl.ItemTemplate funktioniert nicht

<maps:MapItemsControl ItemsSource="{Binding MapObjects}"> 
    <maps:MapItemsControl.ItemTemplate> 
     <DataTemplate> 
      <Grid 
       maps:MapControl.Location="{Binding Location}" 
       maps:MapControl.NormalizedAnchorPoint="{Binding AnchorPoint}" > 
        <Grid.Transitions> 
         <TransitionCollection> 
          <EntranceThemeTransition 
           FromVerticalOffset="{Binding VerticalOffset}" 
           FromHorizontalOffset="{Binding HorizontalOffset}" /> 
         </TransitionCollection> 
        </Grid.Transitions> 
       ... 
      </Grid> 
     </DataTemplate> 
    </maps:MapItemsControl.ItemTemplate> 
</maps:MapItemsControl> 

Was ich wollte, dass die Elemente auf der Karte haben einige nette Animation zu machen zu erreichen ist, so dass sie nicht nur aus dem Nichts erscheinen ... Genauer gesagt wollte ich, dass sie in eine Richtung zur Mitte der Karte rutschen.

Aber dieser Code scheint nicht zu funktionieren ... die Bindung wird nicht einmal für die zwei Eigenschaften von EntranceThemeTransition "aufgerufen" und sie behalten ihre Standardwerte, so dass jedes Kartenelement von rechts einschiebt.

Auch wenn ich die verbindliche Aussage zu einer Eigenschaft ändern, die nicht in meinem Ansichtsmodell existiert: FromVerticalOffset="{Binding NonExistentProperty}, gibt es keinen Fehler dies anzeigt, die in der Regel passieren würde, und so etwas wie folgt aussehen: Error: BindingExpression path error: 'NonExistentProperty' property not found on 'IMS_Mobile.ViewModels.MapViewModel+MapItem...'

kann jemand helfen ? Vielen Dank.

+0

Just zu beachten, dass ich ein Kopfgeld gab, weil mein Problem ähnlich ist aber einfacher - Die Bindung an den gleichen FromHorizontalOffset, aber es ist in TextBlock.Transitions. –

+0

Das Map-Steuerelement von WP8.1 ist voller Bugs. Seien Sie also darauf vorbereitet, dass dies möglicherweise gar nicht funktioniert. – sibbl

+0

Das ist ziemlich komisch. Was passiert, wenn Sie eine benutzerdefinierte angehängte Eigenschaft für "EntranceThemeTransition" schreiben? –

Antwort

0

Ich habe MapItemsControl nicht verwendet, aber möglicherweise ist es wie ItemsControl. Entfernen Übergang von ItemTemplate und fügen Sie Karten: MapItemsControl.ItemContainerTransitions wie unten:

<maps:MapItemsControl ItemsSource="{Binding MapObjects}"> 
<maps:MapItemsControl.ItemContainerTransitions> 
       <TransitionCollection> 
         <EntranceThemeTransition 
          FromVerticalOffset="{Binding VerticalOffset}" 
          FromHorizontalOffset="{Binding HorizontalOffset}" /> 
        </TransitionCollection> 
     </maps:MapItemsControl.ItemContainerTransitions> 
<maps:MapItemsControl.ItemTemplate> 
    <DataTemplate> 
     <Grid 
      maps:MapControl.Location="{Binding Location}" 
      maps:MapControl.NormalizedAnchorPoint="{Binding AnchorPoint}" > 

      ... 
     </Grid> 
    </DataTemplate> 
</maps:MapItemsControl.ItemTemplate> 

+0

Thx für die Aufwand, verursacht Ihr Code folgende Fehler: Das Mitglied "ItemContainerTransitions" wird nicht erkannt oder ist nicht zugänglich. Die anfügbare Eigenschaft 'ItemContainerTransitions' wurde im Typ 'MapItemsControl' nicht gefunden. – stambikk