4

有没有办法让 WPF 自动将 aConverter应用于特定类型的所有绑定?

我见过这个问题,但它涵盖了不同的情况(本地化),因此没有令人满意的答案。

我的问题:我有包含的模型类Commands,我想将其绑定到 WPF 命令。由于模型类是独立于工具包的,因此我无法在ICommand那里实现 WPF。相反,我有一个将 sCommandConverter包装CommandModel到 WPF中的方法ICommand

<Button Command="{Binding MyCommand, Converter={StaticResource CommandConverter}}" />

这工作得很好,除了很容易忘记Converter=和 WPF 没有给出任何绑定失败的迹象。

我现在的问题是:是否有可能强制 WPF 始终将转换器应用于特定类型的绑定?或者,当命令绑定失败时,如何让 WPF 给我正确的错误?

4

3 回答 3

2

我认为没有子类 Button (你可能不想这样做),或者定义你自己的附加属性并在其上使用 TypeConverter 属性,你都不能。

如果您想通过新附加属性上的 TypeConverter 属性使用默认转换器,您可以在此处查看 Rob Relyea 的信息性帖子,或在此处查看MSDN 。

于 2009-06-12T16:51:23.487 回答
2

虽然我从未做过,但是否可以定义自定义标记扩展?这应该会导致将该值发送到实现标记扩展的类,然后您可以从那里返回ICommandCommand属性所期望的值。

正如我所说,我从来没有自己创建过一个,但谷歌搜索似乎带来了一些关于如何做到这一点的文章。

于 2009-06-14T12:34:06.410 回答
0

检查调试输出窗口。通常你会在那里看到绑定错误。

于 2009-06-12T14:30:28.957 回答