Si vous connaissez les comportements, les déclencheurs et les actions Blend, il existe une action GoToStateAction qui fait partie de l'espace de noms Microsoft.Expression.Interactivity.Core. Vous devrez faire référence aux assemblages d'interactivité qui font partie de l'espace de noms Microsoft.Expression.Interactivity.Core. SDK Blend .
Une fois les références mises en place, il suffit de spécifier l'action GoToState pour qu'elle réagisse à une sorte de déclencheur... le tout en XAML. Voici un exemple qui déclenche l'action à partir de l'événement Loaded à l'aide d'un EventTrigger :
<UserControl x:Class="SilverlightApplication1.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:ic="clr-namespace:Microsoft.Expression.Interactivity.Core;assembly=Microsoft.Expression.Interactions">
<Grid x:Name="LayoutRoot">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Loaded">
<ic:GoToStateAction StateName="MyVisualState"/>
</i:EventTrigger>
</i:Interaction.Triggers>
...
</Grid>
</UserControl>
Plus d'informations et de tutoriels sur l'action spécifique GoToState aquí .
EDIT : Cette réponse est spécifique à Silverlight, je ne suis pas sûr qu'elle soit disponible pour WPF.