我的场景: 我有一个带有视图的Silverlight应用程序,其中我想将文本框绑定到对象(双向),并将所有标签绑定到持有标签翻译的字典。来自多个来源的绑定
我的方法是将页面的datacontext设置为包含两个项目的字典,其中一个是对象,另一个是翻译字典。
在XAML代码如下所示:
<TextBlock Text="{Binding [dict].[name],FallbackValue='Fallback'}" />
<TextBox Text="{Binding [obj].name,Mode=TwoWay}" />
这工作一开始,如果我然而改变DataContext的对象时,XAML是不通知任何变化和不更新。
我已经有一个工作解决方案使用转换器进行翻译,但由于一个转换器参数的限制,我不喜欢该解决方案。另外,无法在文本块中放置回退值,导致设计页面时出现“不可见”文本块。
有关如何解决此问题的任何建议?它不必使用我的字典,如果我可以将datacontext设置为对象(它工作)并将标签绑定到某种不同的方式,那也可以。
,我想出了相同的解决方案,并有在答案中写了一些示例代码。由于8小时限制,我无法发布答案,不过感谢你的帖子。 – Webfarmer