UWP样式触发器缺失

似乎UWP XAML不支持样式中的触发器。 完成以下触发器的常见解决方法是什么?

       

目前,我在UWP中看到以下选项来完成触发器:

使用动画或VisualStateTriggers。 如果我不使用它们来调整控件到屏幕,那么两者似乎都是错误的。


我想我找到了一般为控件实现触发器的正确​​方法。 请参阅以下代码作为演示:

 xmlns:Interactivity="using:Microsoft.Xaml.Interactivity" xmlns:Core="using:Microsoft.Xaml.Interactions.Core"        

如果没有ElementName的解决方案,那将是非常棒的。 我会在WPF中使用AncestorType完成此操作,但在UWP中也缺少这一点。 无论如何,似乎你不能在样式中使用Core:DataTriggerBehavior

在WinRT中, RelativeSourceMode仅支持SelfTemplatedParent模式, FindAncestor不可用。 因此,当您使用XAML行为时 ,您需要使用ElementName作为变通方法。 如果您在项目中使用DataContext或ViewModel,则可以绑定到DataContext或ViewModel以避免使用ElementName 。 例如:

     ...        ...  

以上使用的ViewModel:

 public class MyViewModel : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; private string _tag; public string Tag { get { return _tag; } set { _tag = value; if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs("Tag")); } } } }