我怎样才能选择通过数据绑定/触发条件设定一个的TabItem的“能见度”
-
08-07-2019 - |
题
我有,如果属性(BlahType)被设置为1,并且如果设置为0。这表明,应该被隐藏标签页就是我 WANT 做:
<TabItem Header="Blah">
<TabItem.Triggers>
<DataTrigger Binding="{Binding BlahType}" Value="0">
<Setter Property="TabItem.Visibility" Value="Hidden" />
</DataTrigger>
</TabItem.Triggers>
</TabItem>
的问题是,我得到这个错误:
"Triggers collection members must be of type EventTrigger"
如果你谷歌的错误,你会看到的博士。 WPF解释了错误。有没有干净的方式做什么,我想在这里实现?
解决方案
我认为一个控制的触发器集合只目前支持EventTriggers。如果你想使用一个DataTrigger只需将它里面的风格,为您的例子:
<TabItem Header="Blah">
<TabItem.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding BlahType}" Value="0">
<Setter Property="TabItem.Visibility" Value="Hidden" />
</DataTrigger>
</Style.Triggers>
</Style>
</TabItem.Style>
</TabItem>
其他提示
那么,你不能这样做,使用触发器(未除非你是里面一个DataTemplate,的ControlTemplate或风格)。
您可以使用绑定做到这一点,你需要编写一个自定义ValueConverter将0/1之间转换成可见光/隐藏,然后你可以Visibility属性绑定到BlhaType属性。
或者你也可以在代码中设置的知名度和在XAML为基础的方法放弃(这是什么我会做)。
不隶属于 StackOverflow