/ / Attivazione di un'animazione con un oggetto DataTrigger e associazione - .net, wpf, xaml, mvvm

Attivazione di un'animazione con un DataTrigger e associazione - .net, wpf, xaml, mvvm

Sto cercando di fare una griglia "dissolvenza" o "dissolvenza"a seconda del valore di una proprietà. La proprietà viene chiamata, ma l'animazione non sembra influenzare la griglia. La mia griglia e i trigger sembrano:

<Grid Background="White"
Opacity="0">
<Grid.Style>
<Style TargetType="Grid">
<Style.Triggers>
<DataTrigger Binding="{Binding IsWaiting}"
Value="False">
<DataTrigger.EnterActions>
<BeginStoryboard Name="pickIn">
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity"
From="0"
To="1"
Duration="0:0:0.8" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<StopStoryboard BeginStoryboardName="pickIn" />
</DataTrigger.ExitActions>
</DataTrigger>
<DataTrigger Binding="{Binding IsWaiting}"
Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard Name="pickOut">
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity"
From="1"
To="0"
Duration="0:0:0.8" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<StopStoryboard BeginStoryboardName="pickOut" />
</DataTrigger.ExitActions>
</DataTrigger>
</Style.Triggers>
</Style>
</Grid.Style>
<Grid.Triggers>
<EventTrigger RoutedEvent="Loaded">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity"
From="0"
To="1"
Duration="0:0:0.8" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Grid.Triggers>
<!-- etc -->
</Grid>

Mio IsWaiting la proprietà assomiglia a:

public bool IsWaiting{
get { return _isWaiting; }
set {
_isWaiting = value;
OnPropertyChanged("IsWaiting");
}
}

Non ci sono errori di binding nel log di output quando la proprietà cambia. Che cosa sto facendo di sbagliato?

risposte:

2 per risposta № 1

Il <Grid.Triggers> stanno annullando il tuo <Style.Triggers> puoi sostituire il <Grid.Triggers> animazione semplicemente impostando IsWaiting true quando la griglia viene caricata o impostata su true bu default.