在MapItemsControl.ItemTemplate中绑定EntranceThemeTransition属性不起作用

sta*_*ikk 5 c# xaml windows-runtime windows-phone-8.1

我有一个地图控件,地图项绑定如下:

<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>
Run Code Online (Sandbox Code Playgroud)

我想要实现的是让地图项目有一些不错的动画,所以它们不会出现在任何地方......特别是我希望它们在朝向地图中心的方向上滑动到位.

但是这个代码似乎不起作用...... Binding甚至没有为它们的两个属性"调用" EntranceThemeTransition,它们保留了它们的默认值,以便每个地图项从右边滑入.

此外,当我将Binding语句更改为我的ViewModel中不存在的某个属性时,FromVerticalOffset="{Binding NonExistentProperty}没有错误指示通常会发生这种情况,并且看起来像这样:Error: BindingExpression path error: 'NonExistentProperty' property not found on 'IMS_Mobile.ViewModels.MapViewModel+MapItem...'

有人可以帮忙吗?谢谢.

小智 0

我没有使用过 MapItemsControl,但可能它就像 ItemsControl。从 ItemTemplate 中删除过渡并将其添加到maps:MapItemsControl.ItemContainerTransitions 中,如下所示:

<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>
Run Code Online (Sandbox Code Playgroud)