我的列表项目有DataTemplate
,如下所示:
<DataTemplate x:Key="MyDataTemplate">
<Grid Height="60">
<Grid Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="88"/>
<ColumnDefinition Width="310"/>
<ColumnDefinition Width="72"/>
</Grid.ColumnDefinitions>
<Image MaxHeight="48" MaxWidth="40" Grid.Column="0" VerticalAlignment="Center" Source="{Binding ImageUrl}"/>
<TextBlock Text="{Binding Name}" Grid.Column="1"/>
<ContentPresenter x:Name="AnimatedIndicator" Grid.Column="2" RenderTransformOrigin="0.5, 0.5">
<ContentPresenter.ContentTemplate>
<DataTemplate>
<Image Source="/Assets/Images/arrow.png" CacheMode="BitmapCache" Width="30" Height="30" Stretch="Uniform"/>
</DataTemplate>
</ContentPresenter.ContentTemplate>
<ContentPresenter.RenderTransform>
<RotateTransform x:Name="AnimatedIndicatorRotate" Angle="{Binding IsRotated, Converter={StaticResource IsRotatedToAngleConverter}}"/>
</ContentPresenter.RenderTransform>
</ContentPresenter>
</Grid>
</Grid>
</DataTemplate>
我的问题是RotateTransform
中的绑定不起作用,并且转换器不会被调用。
因此,当我使用故事板为角度设置动画时,由于虚拟化而在一些滚动后重置角度,并且绑定到IsRotated属性应该解决此问题,但它不起作用。