Ich habe eine Seite mit einem Raster mit zwei Spalten, die erste enthält eine Schaltfläche, die die Sichtbarkeit der zweiten (über eine ViewModel-Bindung) schaltet. Wie kann ich eine Animation zum Anzeigen/Verbergen der zweiten Spalte (mit Pivot als Inhalt) zu diesem Szenario hinzufügen?C# UWP XAML Animationen
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid Grid.Column="0">
<Button Command="{Binding TogglePivot}"/>
</Grid>
<Pivot x:Name="Content_Pivot" Grid.Column="1">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup>
<!-- Hidden state -->
<VisualState x:Name="Hidden">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="Content_Pivot" Storyboard.TargetProperty="Width">
<DiscreteObjectKeyFrame KeyTime="0" Value="0"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<!-- Visible state -->
<VisualState x:Name="Visible">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="Content_Pivot" Storyboard.TargetProperty="Width">
<DiscreteObjectKeyFrame KeyTime="0" Value="600"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<interactivity:Interaction.Behaviors>
<!-- Show -->
<core:DataTriggerBehavior Binding="{Binding IsVisible}" ComparisonCondition="Equal" Value="True">
<core:GoToStateAction StateName="Visible"/>
</core:DataTriggerBehavior>
<!-- Hide -->
<core:DataTriggerBehavior Binding="{Binding IsVisible}" ComparisonCondition="Equal" Value="False">
<core:GoToStateAction StateName="Hidden" />
</core:DataTriggerBehavior>
</interactivity:Interaction.Behaviors>
<!-- Content.. -->
</Pivot>
</Grid>
Die oben funktioniert gut, aber nur auf dem ersten Knie der Sichtbarkeit des Pivot. Nachfolgende Umschalttasten zeigen die Animation nicht an.
Eine einfache Möglichkeit, dies zu erreichen, ohne Storyboards manuell aufzurufen?
Danke.
== == EDIT
ich einige Änderungen an obigen Code aus (nämlich hinzugefügt VisualStates
und DataTriggerBehaviour
).
Noch kann es nicht zur Arbeit ... Irgendwelche Ideen?
Dank @Corcus, ich habe mein OP mit meinem Versuch aktualisiert ... Noch keine Würfel. Macht es Ihnen etwas aus, mir Ihre Probe zu zeigen? –
Ich werde meine Antwort aktualisieren, wenn ich zu meinem Heim-PC komme. Bleib dran :) – Corcus
@Ubobo Du hast die Idee ein bisschen falsch verstanden. Ich habe meine Antwort aktualisiert. Was Sie brauchten, waren doppelte Animationen und kein Schlüsselbild. Auch die Verwendung des Visual State Managers war nicht notwendig. – Corcus