我正在编写一个应用程序,该应用程序具有一个视图模型和一个显示来自该视图模型的数据的用户控件。视图模型包含一个实体“约会”,这些约会具有一个属性“用户名”。
当我显示约会时,我想使用值转换器为用户获取颜色(取决于“用户名”),但颜色不包含在实体“约会”中,所以我想创建一个值-使用视图模型中的实体“用户”的转换器。
从转换器内部的视图模型中使用另一个实体的最佳方法是什么?
是否可以从用户控件访问视图模型?我试图将转换器放在我的视图模型类中,但我可以从用户控件访问这个类吗?
我发现以下可能性可能有效:
调整视图模型,使每个约会也包含颜色。但我不想这样做,因为我不想弄乱视图模型。
在启动时从还包含视图模型的类中设置转换器参数。(这行得通吗?)
使用 x:Reference 将转换器参数数据绑定到编译时未知的视图模型。(这可能吗?)