Кажется, что UWP XAML не поддерживает триггеры в стилях. Каково общее обходное решение для выполнения триггеров, как показано ниже?
<Style TargetType="Button">
<Style.Triggers>
<Trigger Property="Visibility" Value="Collapsed">
<Setter Property="Text" Value="" />
</Trigger>
</Style.Triggers>
</Style>
В настоящий момент я вижу следующие варианты выполнения триггеров в UWP:
Использовать анимацию или VisualStateTriggers. Оба кажутся неправильными, если я использую их, чтобы не настраивать элементы управления на экран.
Я думаю, что нашел правильный способ реализации триггеров вообще для элементов управления. См. Приведенный ниже код как демонстрацию:
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>
Было бы замечательно, если бы было решение без ElementName. Я бы сделал это в WPF с AncestorType, но это тоже не хватает в UWP. В любом случае, кажется, что вы не можете использовать стили Core:DataTriggerBehavior
.