1

我的模型中有一个地址对象,它有 6 个地址行作为单独的属性。在我的 Silverlight 视图中,我希望它显示在多行文本框中并使用数据绑定进行更新。

View 链接到 ViewModel,该 ViewModel 具有始终设置的 Address 属性。我的第一个想法是使用一个 ValueConverter,它最初很好,因为它可以接受一个 Address 对象并传回一个显示的字符串。

当我想 ConvertBack 字符串时,我的问题就出现了。我希望更新现有的地址对象,但找不到这样做的方法。我认为您可以传回一个新的 Address 对象,但这不是我想要发生的。

我在这里走在正确的轨道上,或者有比使用 ValueConverter 更好的方法。

4

1 回答 1

0

你在这里几乎是在正确的轨道上!您的观察是正确的,该ConvertBack方法需要创建一个新的 Address 实例。您无法在转换器中获得对原始地址的引用,绑定框架不允许这种紧密耦合。

使用 MVVM 怎么样?创建一个将您的地址公开/调整为字符串的 ViewModel,基本上执行您的值转换器的角色。当TwoWay绑定更新此字符串属性时,您的 ViewModel 可以更新它适应的地址。

于 2011-06-06T10:02:43.023 回答