2012-05-04 73 views
0

我正在使用Silverlight进行开发,现在我想将我的ComboBox绑定到ObservableCollection。但是,ObservableCollection在我的SelectedItem中,所以我不确定它是否能够按照我的预期工作。在SelectedItem中绑定到ObservableCollection

我试过ItemsSource={Binding SelectedItem.SourceList}ItemsSource={Binding Path=SelectedItem.SourceList},但是两种方式都不给我想要的输出。

如果有人有任何想法... 非常感谢

编辑:对象内部的ObservableCollection是BerthList。此BerthList中的项目受用户先前选择的端口限制。如果我将ObservableCollection的泊位置于ViewModel中,则会出现问题。

假设港口A有泊位A和B;港口B有C和D泊位。如果我为我的第一件物品(我们只是称之为一个时间表)选择一个港口A /泊位组合,那么当我去到下一个物品并选择港口B,巴姆,我我的第一个项目泊位选择消失,因为泊位列表不再具有端口A

我不知道这是否可以解释的事情...

回答

0

为了有一个的SelectedItem在你的组合框,您需要先具备的ItemSource。 看来你对问题的处理方式不正确。

尝试找到ObservableCollection与您的SelectedItem无关的方法。

0

你的模型听起来稍显陌生,不知道为什么你选择的项目将包含实际来源 - 如果您提供了有关您的域名的更多信息,这可能会有所帮助。即你的课程是什么?

无论如何,绑定的问题很可能是Source。如果您没有明确提供源,则绑定使用DataContext作为源(此tutorial I wrote on databinding可能会帮助您理解此概念)。总之,要解决这个问题,源设置为组合框...

<ComboBox x:Name="myCombo" 
      ItemsSource={Binding SelectedItem.SourceList, ElementName=myCombo}"> 
+0

ElementName是做什么的?我编辑了我的帖子,看看。 :) – matt

相关问题