Compartir a través de


VisualState.StateTriggers Propiedad

Definición

Obtiene una colección de objetos StateTriggerBase que indican cuándo se debe aplicar este objeto VisualState . Si alguno (no todos) de los desencadenadores está activo, se aplicará VisualState.

public:
 property IVector<StateTriggerBase ^> ^ StateTriggers { IVector<StateTriggerBase ^> ^ get(); };
IVector<StateTriggerBase> StateTriggers();
public IList<StateTriggerBase> StateTriggers { get; }
var iVector = visualState.stateTriggers;
Public ReadOnly Property StateTriggers As IList(Of StateTriggerBase)

Valor de propiedad

Colección de objetos StateTriggerBase . El valor predeterminado es una colección vacía.

Ejemplos

En este ejemplo se muestra cómo usar la propiedad StateTriggers con adaptiveTrigger para crear una regla declarativa en el marcado XAML en función del tamaño de la ventana. De forma predeterminada, la orientación StackPanel es Vertical. Cuando el ancho de la ventana es >= 720 píxeles efectivos, se desencadena el cambio de VisualState y la orientación stackPanel se cambia a Horizontal.

<Page>
    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <VisualStateManager.VisualStateGroups>
            <VisualStateGroup>
                <VisualState>
                    <VisualState.StateTriggers>
                    <!--VisualState to be triggered when window width is >=720 effective pixels.-->
                        <AdaptiveTrigger MinWindowWidth="720" />
                    </VisualState.StateTriggers>

                    <VisualState.Setters>
                        <Setter Target="myPanel.Orientation" Value="Horizontal" />
                    </VisualState.Setters>
                </VisualState>
            </VisualStateGroup>
        </VisualStateManager.VisualStateGroups>
        <StackPanel x:Name="myPanel" Orientation="Vertical">
            <TextBlock Text="This is a block of text. It is text block 1. " 
                       Style="{ThemeResource BodyTextBlockStyle}"/>
            <TextBlock Text="This is a block of text. It is text block 2. " 
                       Style="{ThemeResource BodyTextBlockStyle}"/>
            <TextBlock Text="This is a block of text. It is text block 3. " 
                       Style="{ThemeResource BodyTextBlockStyle}"/>
        </StackPanel>
    </Grid>
</Page>

Comentarios

Usa esta propiedad para crear reglas en XAML que especifican cuándo se va a aplicar un objeto VisualState determinado. Usas StateTriggers directamente en el marcado XAML en lugar de llamar a VisualStateManager.GoToState en el código.

Puede usar adaptiveTrigger integrado para crear reglas basadas en el tamaño de ventana, lo que resulta útil para crear una interfaz de usuario con capacidad de respuesta. También puede extender StateTriggerBase para crear sus propios desencadenadores personalizados y usarlos dentro de la propiedad StateTriggers.

Para obtener más ejemplos, consulta el ejemplo técnicas con capacidad de respuesta xaml y el ejemplo de desencadenadores de estado.

Se aplica a

Consulte también