我對數據綁定& XAML相當陌生,所以這可能是相當簡單的事情,但我一直忍受它好幾天了(和更多的谷歌搜索比我可以跟蹤在這一點上感到沮喪),並會讚賞任何指向正確的方向。如果可能,我唯一的選擇是保持純XAML。Cross DomainDataSource Combobox SelectedItem Binding
在我RIA SL4的項目,我有兩個實體PackageOS
和OS
其中PackageOS
具有通過PackageOS.OS
的關聯OS
(通過PackageOS.OSID
<關聯 - >OS.ID
- 和[Include]
+ .Include()
正確安裝在相關章節)
這是模板(在Page.Resource
節中定義,以及所有其他涉及的DDS)我在DataForm中使用OSEntities
列表綁定到PackageOS
實體(來自使用DDS的RIA GetOSEntities()
):
<DataTemplate x:Key="POSItemTemplate">
<StackPanel>
<toolkit:DataField Label="PackageOS.OS">
<TextBlock Text="{Binding Source={StaticResource packageOSEntityDomainDataSource}, Path=Data.CurrentItem.OS}" />
</toolkit:DataField>
<toolkit:DataField Label="OS">
<ComboBox ItemsSource="{Binding Path=Data, Source={StaticResource osEntityDomainDataSource}}"
SelectedItem="{Binding Path=Data.CurrentItem.OS, Source={StaticResource packageOSEntityDomainDataSource}}"/>
</toolkit:DataField>
</StackPanel>
</DataTemplate>
核心問題是SelectedItem
的ComboBox
不起作用。所有的綁定都可以從IDE綁定向導中獲得,所以這不是我輸入錯誤路徑的問題。我可以看到packageOSEntityDomainDataSource.Data.CurrentItem
的類型爲PackageOS
。
如果我創建的後端數據庫手動輸入,結果顯示在PackageOS.OS
文本塊,所以我知道正確返回,但SelectedItem
拒絕把它撿起來(它最終選擇在下拉列表中的第一個值,而不管OS
物品在PackageOS
)。
非常感謝提前!