C# 如何确定MultiDataTrigger的问题来自何处?

C# 如何确定MultiDataTrigger的问题来自何处?,c#,wpf,xaml,C#,Wpf,Xaml,我目前有一个由DataTriggers设计的DataGrid。我遇到了这样一个问题,即当一个条件存在时,MultiDataTrigger不会对行进行样式设置—这种条件在DataTrigger中工作正常 这项工作: <DataTrigger Binding="{Binding Type}" Value="Error"> <Setter Property="Background" Value="#FFFF88FF"/> </DataTrigger> <

我目前有一个由DataTriggers设计的DataGrid。我遇到了这样一个问题,即当一个条件存在时,MultiDataTrigger不会对行进行样式设置—这种条件在DataTrigger中工作正常

这项工作:

<DataTrigger Binding="{Binding Type}" Value="Error">
   <Setter Property="Background" Value="#FFFF88FF"/>
</DataTrigger>
<DataTrigger Binding="{Binding BgColor}" Value="{x:Null}">
   <Setter Property="Background" Value="#FFFF88FF"/>
</DataTrigger>

这项工作:

<DataTrigger Binding="{Binding Type}" Value="Error">
   <Setter Property="Background" Value="#FFFF88FF"/>
</DataTrigger>
<DataTrigger Binding="{Binding BgColor}" Value="{x:Null}">
   <Setter Property="Background" Value="#FFFF88FF"/>
</DataTrigger>

这不起作用:

<MultiDataTrigger>
   <MultiDataTrigger.Conditions>
      <Condition Binding="{Binding Type}" Value="Error"/>
      <Condition Binding="{Binding BgColor}" Value="{x:Null}"/>
   </MultiDataTrigger.Conditions>
   <Setter Property="Background" Value="#FFFF88FF"/>
</MultiDataTrigger>

什么会影响MultiDataTrigger不工作?
有多个实例同时满足这两个条件。

从技术上讲,它应该可以工作,您可以通过向XAML添加虚拟转换器进行交叉验证,并将“Type”和“BgColor”绑定到XAML,然后您可以检查准确值。

从技术上讲,它应该工作,您可以通过向XAML添加虚拟转换器并绑定“Type”进行交叉验证和“BgColor”,然后您可以检查精确值

多数据触发器看起来正确。您确定一个绑定源实际上满足了这两个条件吗?您是否故意将属性设置为所需值来强制达到预期条件?@BionicCode是的,我强制了属性,但仍然无法让它们以所需的方式响应。如前所述,两个数据触发器在同一项上正确工作;只是不在MultiDataTrigger中。我将尝试在一个干净的项目上重现此问题。查看输出窗格中的绑定错误。如果您需要更多详细信息,请依次在每个绑定上设置PresentationOnTraceSources.TraceLevel=High,您将在输出窗格中获得更多详细信息。
MultiDataTrigger
看起来很正确。您确定一个绑定源实际上满足了这两个条件吗?您是否故意将属性设置为所需值来强制达到预期条件?@BionicCode是的,我强制了属性,但仍然无法让它们以所需的方式响应。如前所述,两个数据触发器在同一项上正确工作;只是不在MultiDataTrigger中。我将尝试在一个干净的项目上重现此问题。查看输出窗格中的绑定错误。如果需要更多详细信息,请依次在每个绑定上设置PresentationOnTraceSources.TraceLevel=High,这样您将在输出窗格中获得更多详细信息。