【发布时间】:2017-05-27 08:33:51
【问题描述】:
请求是当ViewModel的属性SelectedItem引发变化时,我的ListView的行会闪烁。
这是我的代码,问题是它只能在第一次工作。后续更改将被忽略。
<DataTemplate x:Key="myDataTemplate">
<Grid x:Name="myGrid">
<Interactivity:Interaction.Behaviors>
<Core:DataTriggerBehavior Binding="{Binding SelectedItem}" Value="True">
<Media:ControlStoryboardAction>
<Media:ControlStoryboardAction.Storyboard>
<Storyboard>
<ColorAnimation
To="#009ABF"
Storyboard.TargetName="myGrid"
Storyboard.TargetProperty="(Grid.Background).(SolidColorBrush.Color)"
AutoReverse="True"
Duration="0:0:1"
RepeatBehavior="1x" />
</Storyboard>
</Media:ControlStoryboardAction.Storyboard>
</Media:ControlStoryboardAction>
</Core:DataTriggerBehavior>
</Interactivity:Interaction.Behaviors>
<TextBlock Text="{Binding Name}"
Grid.Column="1"
VerticalAlignment="Top"
HorizontalAlignment="Left"
Margin="0,2,10,0"
FontSize="16"
TextAlignment="Left"/>
<!--OMISSIS-->
</Grid>
所选项目代码:
public bool SelectedItem
{
get
{
return this.selectedItem;
}
set
{
this.selectedItem = value;
this.RaisePropertyChanged();
}
}
【问题讨论】:
-
SelectedItem是什么类型?请提供cs代码 -
乍一看,这只是您的
RepeatBehavior="1x",因为它为每个实例使用相同的故事板,并且您在上面设置了AutoReverse。
标签: xaml binding storyboard uwp behavior