c# - 绑定(bind)的默认 ValueConverter

标签 c# wpf data-binding default converter

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

我看过 this question , 但它涵盖了不同的情况(本地化),因此没有令人满意的答案。

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

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

这工作得很好,除了很容易忘记 Converter= 并且 WPF 不会给出任何绑定(bind)失败的指示。

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

最佳答案

我认为您不能不对 Button 进行子类化(您可能不想这样做),或者定义您自己的附加属性并在其上使用 TypeConverter 属性。

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

关于c# - 绑定(bind)的默认 ValueConverter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/985941/

相关文章:

c# - .NET FW BitmapImage 类何时下载/缓存?

c# XNA 低帧率

WPF TreeView 数据绑定(bind)以隐藏/显示展开/折叠图标

c# - 在 ViewModel 中更新 View

c# - 反序列化 json 字符串以获得多个结果

c# - 将取消 token 添加到有进度的异步任务

来自对象列表列表的 C# ListBox(以及更深层次的)

c# - WPF - DragOver 事件没有在我的列表框上触发

c# - 使用编程排序绑定(bind)到 DataGridView 的可排序 BindingList

wpf - 依赖属性 - 更新源