我们有一个名为 SelectorSwitchedControl 的控件,它使用 aSelector
在子控件之间切换。按照简化的 Tab 控件的思路思考,但它使用ComboBox
orListBox
代替选项卡。
我们正在尝试构建一个触发器,如果列表中有多个项目,我们需要显示选择器。
我唯一能想到的就是使用两个触发器,而不是一个。默认情况下,您使选择器在控件的模板中可见,然后创建两个单独的触发器来隐藏选择器:第一个条件测试零项,第二个条件测试 1 项。如果其中任何一个匹配,则选择器将隐藏。如果没有——即有两个或更多项目——那么它将保持可见。
它可以工作,但我想知道是否有任何方法可以使用单个触发器来创建这种行为,即使它是一个 MultiTrigger。但是 MultiTrigger 是一个“与”测试,而我们需要一个“或”测试。通常,您可以反转逻辑以将 MultiTrigger 的行为更改为“或”,但这需要属性本身是布尔值,因为单个测试没有“非”条件(即您不能说“属性”)不等于 0 也不等于 1')。
作为记录,我知道我可以轻松地使用转换器和/或代码隐藏作为解决此问题的一种方法,但我想知道是否有一种纯 XAML 方法可以做到这一点,因此这种行为可以是没有其他代码的样式依赖关系。