【发布时间】:2011-08-05 07:36:30
【问题描述】:
我的场景: 我有一个带有视图的 Silverlight 应用程序,我想将文本框绑定到一个对象(双向),并将所有标签绑定到保存标签翻译的字典。
我的方法是将页面的数据上下文设置为包含两个项目的字典,其中一个是对象,另一个是翻译字典。
在 xaml 中,代码如下所示:
<TextBlock Text="{Binding [dict].[name],FallbackValue='Fallback'}" />
<TextBox Text="{Binding [obj].name,Mode=TwoWay}" />
这最初是有效的,但是如果我更改数据上下文中的对象,xaml 不会收到任何更改的通知并且不会更新。
我有一个使用转换器进行翻译的工作解决方案,但是由于一个转换器参数的限制,我不喜欢该解决方案。此外,无法在文本块中放置后备值,这会导致在设计页面时出现“不可见”的文本块。
关于如何解决此问题的任何建议?它不必使用我的字典,如果我可以将 datacontext 设置为对象(有效)并将标签以某种方式绑定,那也可以。
【问题讨论】:
标签: silverlight xaml binding localization