13
看來UWP XAML不支持樣式中的觸發器。什麼是常見的解決方法來完成如下的觸發器?UWP樣式觸發器丟失
<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的解決方案。我會用AncestorType在WPF中做到這一點,但UWP中也缺少這一點。無論如何,你似乎不能在風格上使用Core:DataTriggerBehavior
。
在UWP的應用程序,則必須使用[視覺狀態](https://msdn.microsoft.com/library/windows/apps /windows.ui.xaml.visualstatemanager.aspx)。 – Herdo
查看創建自定義StateTrigger(從StateTriggerBase繼承),然後在可視狀態中使用它 –