Sembra che UWP XAML non supporti i trigger negli stili. Qual è la soluzione alternativa più comune per eseguire trigger come il seguente?Trigger stile UWP mancante
<Style TargetType="Button">
<Style.Triggers>
<Trigger Property="Visibility" Value="Collapsed">
<Setter Property="Text" Value="" />
</Trigger>
</Style.Triggers>
</Style>
Al momento vedo le seguenti opzioni per eseguire trigger in UWP:
Utilizzare animazioni o VisualStateTriggers. Entrambi sembrano sbagliati se li uso non per regolare i controlli sullo schermo.
Penso di aver trovato il modo corretto di implementare Trigger in generale per i controlli. Vedere il codice qui sotto come dimostrazione:
xmlns:Interactivity="using:Microsoft.Xaml.Interactivity"
xmlns:Core="using:Microsoft.Xaml.Interactions.Core"
<Border x:Name="BackgroundElement" Tag="Text">
<Interactivity:Interaction.Behaviors>
<Core:DataTriggerBehavior Binding="{Binding Tag, ElementName=BackgroundElement}" Value="Text">
<Core:ChangePropertyAction PropertyName="BorderBrush" Value="AliceBlue" />
</Core:DataTriggerBehavior>
</Interactivity:Interaction.Behaviors>
</Border>
Sarebbe fantastico se v'è una soluzione senza ElementName. Lo avrei fatto in WPF con AncestorType, ma manca anche in UWP. Ad ogni modo, sembra che non sia possibile usare lo Core:DataTriggerBehavior
in stili.
In applicazioni UWP, è necessario utilizzare [stati visivi] (https://msdn.microsoft.com/library/windows/apps /windows.ui.xaml.visualstatemanager.aspx). – Herdo
Dai un'occhiata alla creazione di uno StateTrigger personalizzato (ereditato da StateTriggerBase) e utilizzalo all'interno di uno stato visivo –