【问题标题】:Silverlight DataForm, Child Window, ComboBox, DataContextSilverlight DataForm、子窗口、组合框、DataContext
【发布时间】:2009-08-20 17:39:01
【问题描述】:
我有一个包含 DataForm 的子窗口。在 DataForm 中有一个组合框。我在打开子窗口的父窗口上设置了一个 DataContext。在打开子窗口之前,我设置了 myChildWindow.DataContext = myGlobalDataContext。
我有 ComboBox ItemsSource={Binding Path=MyCollectionInMyGlobalDataContext}
如果我将组合框放在子窗口的数据表单之外,它会填充数据,一旦我将它移动到数据表单内,它就不会绑定到 DataContext 上的“MyCollection”集合。
有什么想法吗?
【问题讨论】:
标签:
silverlight
combobox
dataform
【解决方案1】:
你现在可能已经找到答案了,但以防万一可能是因为数据表单的 CurrentItem 属性没有设置
【解决方案2】:
在 xaml 数据源中按顺序工作。如果您已将窗口的源定义为“myGlobalDataContext”并将组合放在 Dataform 之外,它肯定会填充它,因为在这种情况下,组合是窗口的子级,但是当您现在将组合放入 dataform 时,dataform 是组合不是窗口,因此您必须在数据表单的当前项目数据源的源中定义组合源或将组合源重新定义为 myGlobalDataContext.MyCollectionInMyGlobalDataContext