Estados de WPF/Silverlight-¿Activar desde XAML?
viewstate (1)
Tipo de pregunta rápida: ¿es posible activar viewstate desde XAML? Solo he podido activar uno desde CS, usando el método VisualStateManager.GotoState (). Esto solucionaría algunos de mis problemas de MVVM si fuera posible.
Gracias
Si está familiarizado con los comportamientos, desencadenantes y acciones de Mezcla, hay una GoToStateAction que forma parte del espacio de nombres Microsoft.Expression.Interactivity.Core. Tendrá que hacer referencia a los ensamblajes de interactividad que forman parte del Blend SDK .
Una vez que haya configurado las referencias, es tan fácil como especificar que GoToStateAction reaccione ante algún tipo de disparador ... todo en XAML. Aquí hay un ejemplo que dispara la acción fuera del evento Loaded usando 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>
Más información y tutoriales sobre la acción específica de GoToState aquí .
EDITAR : Esta respuesta es específica de Silverlight, no estoy seguro de si está disponible en WPF.