我有一个2转换器。
我的xaml在这里
<stackpanel Name="A"
visibility="{Binding isTrue,Converter={StaticResource Bool2Visible}}"/>
<stackpanel Name="B"
visibility="{Binding isTrue,Converter={StaticResource Bool2Visible}}"/>
我的目标是如果isTrue = true,Stackpanel B将隐藏。我需要使用InsertBool并在Stackpanel B绑定中使用Bool2Visible。
如何一次使用2个转换器。
否则。 newvalue=Bool2Visible(InsertBool(value))
如果不可能,我可以创建InvertAndConvertToVisibility
转换器。
答案 0 :(得分:3)
如果不可能,我可以创建InvertAndConvertToVisibility转换器。
就我个人而言,我只想说采取这个选项,它的工作时间不到5分钟,如果你使用一个单独的转换器并对它进行恰当的命名,很明显你打算发生什么。
另一种方法是修改Bool2Visible
转换器,使用parameter
参数传递一个标志,指示操作应该被否定。
答案 1 :(得分:0)
如果您需要根据两个单独的输入确定值,我宁愿使用特殊的MultiValueConverter!
答案 2 :(得分:0)
您可以使用一些检查ConverterParameter的逻辑来扩展Bool2Visible转换器。在第二个StackPanel中的绑定中添加ConverterParameter =“invertValue”并在转换器类内部检查参数的值(ConverterParameter自动传递)。
通过这种方式,您可以解决问题。