如何在WPF中多次转换值

如何在WPF中多次转换值,wpf,Wpf,我有一个2转换器 布尔值到可见性(Bool2Visible)-此转换器将布尔值转换为可见性枚举 反转布尔值(InvertBool)-此转换器反转布尔值 我的xaml在这里 <stackpanel Name="A" visibility="{Binding isTrue,Converter={StaticResource Bool2Visible}}"/> <stackpanel Name="B" visibility="{Binding

我有一个2转换器

  • 布尔值到可见性(Bool2Visible)-此转换器将布尔值转换为可见性枚举
  • 反转布尔值(InvertBool)-此转换器反转布尔值
  • 我的xaml在这里

    <stackpanel Name="A"
              visibility="{Binding isTrue,Converter={StaticResource Bool2Visible}}"/>
    <stackpanel Name="B"
              visibility="{Binding isTrue,Converter={StaticResource Bool2Visible}}"/>
    
    
    
    我的目标是,如果isTrue=true,Stackpanel B将隐藏。我需要在Stackpanel B绑定中使用InsertBool和Bool2Visible

    如何一次使用2个转换器

    否则<代码>新值=bool2可见(插入bool(值))


    如果不可能,我可以创建
    InvertAndConvertToVisibility
    converter

    如果需要从两个独立的输入确定一个值,我宁愿使用一个特殊的多值转换器

    如果需要从两个独立的输入确定一个值,我宁愿使用一个特殊的多值转换器

    如果不可能,我可以创建InvertAndConvertToVisibility转换器

    就我个人而言,我只想说,采取这个选项,它不到5分钟的工作价值,如果你使用一个单独的转换器,并适当地命名它,这是显而易见的,你打算发生什么

    另一种方法是修改
    Bool2Visible
    转换器使用
    参数
    参数传递一个标志,该标志指示操作应被否定

    如果不可能,我可以创建InvertAndConvertToVisibility转换器

    就我个人而言,我只想说,采取这个选项,它不到5分钟的工作价值,如果你使用一个单独的转换器,并适当地命名它,这是显而易见的,你打算发生什么


    另一种方法是修改您的
    Bool2Visible
    转换器。使用
    参数
    参数传递一个标志,该标志指示操作应被否定。

    您可以使用一些检查转换器参数的逻辑来展开Bool2Visible转换器。在第二个StackPanel中的绑定中添加ConverterParameter=“invertValue”并在转换器类内部检查参数值(ConverterParameter会自动传递)


    这样您就可以处理您的问题。

    您可以使用一些检查转换器参数的逻辑来扩展Bool2Visible转换器。在第二个StackPanel中的绑定中添加ConverterParameter=“invertValue”并在转换器类内部检查参数值(ConverterParameter会自动传递)


    这样您就可以处理您的问题。

    我知道多值转换器。但我不知道如何在我的推理中使用多值转换器。当使用多值转换器时,无论如何,您都必须编写另一个类。所以这不能解决你的问题…我知道多值转换器。但我不知道如何在我的推理中使用多值转换器。当使用多值转换器时,无论如何,您都必须编写另一个类。因此,这并不能解决您的问题…我将使用该参数,将花费不到5分钟的时间:)只需为stackpanels添加ConverterParameter=False/True,并在转换器中使用bool invert=Convert.ToBoolean(parameter.ToString())即可:-)我将使用该参数,只需为stackpanels添加ConverterParameter=False/True,并在转换器中使用bool invert=Convert.ToBoolean(parameter.ToString())即可:-)