绑定 EntranceThemeTransition 属性 MapItemsControl.ItemTemplate 中

本文关键字:ItemTemplate MapItemsControl 属性 EntranceThemeTransition 绑定 | 更新日期: 2023-09-27 18:33:05

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

<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>

我想要实现的是让地图项目有一些漂亮的动画,这样它们就不会突然出现......具体来说,我希望它们朝着地图中心的方向滑入到位。

但是这段代码似乎不起作用...绑定甚至不会为 EntranceThemeTransition 的两个属性"调用",并且它们保留其默认值,以便每个地图项都从右侧滑入。

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

谁能帮忙?谢谢。

绑定 EntranceThemeTransition 属性 MapItemsControl.ItemTemplate 中

我没有使用过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>