如何将ValueConverter应用于基于约定的Caliburn.Micro绑定?

8

如何将ValueConverter应用于基于约定的Caliburn.Micro绑定?还是需要使用{Binding}语法?

我知道我可以这样做

<TextBlock
    Text="{Binding Foo, Converter=fooToBarConverter}" />

但是如果我正在使用Caliburn.Micro的约定优于配置,那么我该如何应用自定义转换器呢?

<TextBlock
    x:Name="Foo" />

Thanks,

1个回答

5

您需要替换ConventionManager.ApplyValueConverter函数。默认情况下,它仅执行bool => Visibility转换。此外,您还可以替换ApplyStringFormat函数以进行常规字符串格式化。请查看ConventionManager以了解其工作原理。


好的,谢谢。我看到过SetBinding被调用过,但是没有想到需要自己编写... - kiwipom
所以,我想要将默认的 boolToVis 函数存储在某个地方,创建自己的 ApplyValueConverter,然后在 VM 完成与 View 绑定后恢复默认值。这是一个合理的方法吗?说实话,我不确定是否想让我的非常特定的 IVC 作为默认值留在那里... - kiwipom

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接