【发布时间】:2012-05-15 15:44:45
【问题描述】:
如何在网格的组合框中绑定从 WCF 返回的数据。组合框未处于编辑模式。我能够显示静态数据,但不能显示从 WCF 返回的数据。
【问题讨论】:
标签: silverlight datagrid datagridview combobox silverlight-5.0
如何在网格的组合框中绑定从 WCF 返回的数据。组合框未处于编辑模式。我能够显示静态数据,但不能显示从 WCF 返回的数据。
【问题讨论】:
标签: silverlight datagrid datagridview combobox silverlight-5.0
我假设静态数据是您手动输入到 Items 属性中的内容。组合框的语法有点不同,但这里是:
<ComboBox ItemsSource="{Binding Path=<your collection>,Mode=OneTime}" SelectedValuePath="<id-field>" DisplayMemberPath="<display-field>" SelectedItem="{Binding Path=<your-property>,Mode=TwoWay}" />
上面以 PATH 结尾的参数只是将属性名称作为字符串。
编辑:如果你使用字典,你会使用:
<ComboBox ItemsSource="{Binding Path=<your dictionsry>,Mode=OneTime}" SelectedValuePath="Key" DisplayMemberPath="Value" SelectedItem="{Binding Path=<your-int-property>,Mode=TwoWay}" />
【讨论】:
您可以使用 RelativeSource 在元素树中搜索所需的 DataContext/ViewModel/Page/UserControl 在 ComBoxCollectionSource 附近定义 DataGrid itemssource 的 ViewModel 示例:
<ComboBox ItemsSource={Binding RelativeSource={RelativeSource AncestorType=sdk:DataGrid}, Path=DataContext.ComboBoxColloctionSource} />
【讨论】: