WPF:控制绑定 - 从C#代码触发IValueConverter

时间:2009-07-17 14:49:44

标签: wpf binding valueconverter

在我的XAML代码中,我已将控件的Height属性绑定到其父控件的ActualHeight。因为我必须从我使用的原始值和IValueConverter计算偏移量。

Height="{Binding ElementName=MainCanvas, Path=ActualHeight, Converter={StaticResource adjustVerteilung} , ConverterParameter= 12}"

到目前为止一切正常。

在某些事件之后,ValueConverter中的公式确实会发生变化并生成不同的输出。但是在我调整窗口大小后,控件只会刷新并对齐。有没有办法告诉控件(来自C#代码)刷新自己并从ValueConverter获取一个新值?

2 个答案:

答案 0 :(得分:1)

如果将UpdateSourceTrigger = PropertyChanged添加到绑定中,它应该在实际高度更改时立即重新绑定到该值,而不是在调整窗口大小并且MainCanvas刷新绑定之后重新绑定到该值。

答案 1 :(得分:0)

即使ActualHeight没有改变,我想你想改变价值。 AFAIK ValueConverter功能旨在做类似的事情。

你应该尝试不同的东西。如果它实际上是您希望在“某些事件”发生时更新的观察高度,也许您可​​以尝试构建一个自定义面板,其“某些属性”以某种方式绑定到您的事件。然后,当“某些事件”发生时,您可以更改位于面板内的控件的观察高度。