0

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

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

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

编辑:对象内的 ObservableCollection 是 BerthList。此 BerthList 中的项目受用户先前选择的端口的限制。如果我将 ObservableCollection of Berths 放在 ViewModel 中,就会出现问题。

假设港口 A 有泊位 A 和 B;港口 B 有泊位 C 和 D。如果我为我的第一个项目选择一个港口 A/泊位 A 组合(让我们将此项目称为时间表),那么当我转到下一个项目并选择港口 B 时,bam,我的泊位选择我的第一个项目消失了,因为泊位列表不再有端口 A。

我想知道这是否有助于解释事情......

4

2 回答 2

0

您的模型听起来有点奇怪,不确定为什么您选择的项目会包含实际来源 - 如果您提供有关您的域的更多信息,也许会有所帮助。即你的课是什么?

无论如何,您的绑定问题很可能是Source. 如果您没有显式提供源,则绑定使用 DataContext 作为源(我写的关于数据绑定的教程可能会帮助您理解这个概念)。无论如何,要修复它,请将源设置为 ComboBox ...

<ComboBox x:Name="myCombo"
          ItemsSource={Binding SelectedItem.SourceList, ElementName=myCombo}">
于 2012-05-04T10:15:16.140 回答
0

要在您的组合框中有一个 SelectedItem,您首先需要有 ItemSource。看来您解决问题的方法不正确。

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

于 2012-05-04T10:18:57.510 回答