Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 针对单个可视状态的多个VisualState触发器_C#_Xaml_Win Universal App_Windows 10_Uwp - Fatal编程技术网

C# 针对单个可视状态的多个VisualState触发器

C# 针对单个可视状态的多个VisualState触发器,c#,xaml,win-universal-app,windows-10,uwp,C#,Xaml,Win Universal App,Windows 10,Uwp,我正在尝试为Windows 10下的新通用应用程序编写VisualState。 根据关于的文档,您可以向可视状态添加多个触发器,因为属性的类型为IList VisualState类文档还向StateTriggers文档指出: 一个或多个触发器 一个或多个触发器,可以是AdaptiveTrigger或从StateTriggerBase派生的自定义触发器。这些可用于指示何时需要自动应用相应的VisualState,而无需显式的GoToState调用。有关更多信息,请参阅StateTriggers属性

我正在尝试为Windows 10下的新通用应用程序编写
VisualState

根据关于的文档,您可以向可视状态添加多个触发器,因为属性的类型为
IList

VisualState
类文档还向
StateTriggers
文档指出:

一个或多个触发器

一个或多个触发器,可以是AdaptiveTrigger或从StateTriggerBase派生的自定义触发器。这些可用于指示何时需要自动应用相应的VisualState,而无需显式的GoToState调用。有关更多信息,请参阅StateTriggers属性上的备注

然而,文档并没有指出多个触发器是如何工作的。 也没有办法通过任何C#代码修改行为。
我所期望的行为需要在
StateTriggers
部分中指定的触发器具有一些
和/或
条件


除了编写我自己的
“MultiTrigger”
,从
StateTriggerBase
派生出来,还有其他方法吗?

好的。由于没有内置的
多触发器
,我编写了自己的
多触发器
。 多触发器支持
条件,这正是我所需要的


它现在包含在NuGet包中。

尝试使用不同的VisualStateGroup。 例如,要处理不同的宽度和方向,请使用2个组

<VisualStateGroups x:Name="WidthStates">
    ...
</VisualStateGroups> 

<VisualStateGroups x:Name="OrientationStates">
    ...
</VisualStateGroups> 

...
...
在msdn上查看此相关问题:

赫尔多, 我在
StateTriggers
行为中观察到的是,当触发器在同一组中时,它们会以相互排斥的方式依次执行,有点像
模式。
触发器来自不同的
VisualStateGroup
独立执行,有点像
模式。
在这个观察到的行为中,我将更改同一组属性的内容组织到同一组中,以便在组内控制条件。

我已在我的UWP项目(为RS1构建)中安装了AdaptiveTriggerLibrary我试着让两个带and修改器的多触发程序分别使用WindowHeightTrigger和WindowWidthTrigger,但不管我做什么,第一个多触发程序总是比第二个多触发程序活跃。你有那个图书馆的支持邮件吗?我在哪里可以得到帮助?谢谢@Sergio0694请随意在GitHub上打开一个问题:-我会尽快进行调查。