【发布时间】:2021-04-11 17:21:03
【问题描述】:
我目前正在处理一个对 MVVM 不友好的自定义控件,它通过普通方法而不是依赖属性公开了很多“属性”,或者需要通过方法设置属性,因为需要传递额外的参数.
简单的伪例子:
class TextControl : CustomControl {
void SetText(string text, int fontSize);
string GetText(string defaultValue);
}
现在我想绑定到控件的“文本”,例如如果需要,为参数传递一些默认值。至于“setter”,我可以创建一个附加属性并提供一个回调,然后调用SetText(),但是“getter”呢?有没有一种干净的方法来处理这个问题,或者是将视图传递给视图模型的唯一方法?
【问题讨论】:
-
您到底想达到什么目的?绑定到属性并不是世界末日。如果应用程序有效,那么您只是为了好玩而重构。如果这是第三方控件,请说明。
-
@ΩmegaMan 是的,它确实是第 3 方控件。
标签: c# wpf xaml mvvm data-binding