在下面的代码示例中,从值转换器返回 Binding.DoNothing 仍会导致 fallbackValue 评估。注意上下文。
<Style>
<Setter Property="FontSize" Value="{Binding ActualHeight, RelativeSource={RelativeSource self}, Converter={...DoNothingReturningConverter...}/>
Binding.DoNothing文档清楚地表明不使用后备值(尽管我不是 100% 确定如何解释“例如”)。关于这个主题的其他答案也有同样的假设。
实际上,尝试回退值评估是为了在依赖属性条目中设置表达式值。当评估样式应用于控件时,这与控制流的转换器部分不同。
我正在寻找有关这种微妙的 DoNothing 行为的任何其他信息。在我看来,这是 WPF 4.5 中的一个错误,尽管它可以是设计使然:-)