2011-03-24 53 views
0

讓我來解釋我的挑戰。我有一個數據集,其中包含一個分配給datacontext的數據表。其中一個領域是一個類別。所有類別名稱都在另一個數據表中(一對多關係)。將組合框綁定到另一個數據集,而不是WPF中的datacontext

我想讓combobox顯示數據表中的所有名稱,並在datacontext數據表中使用正確的選定值。所以如果我改變了類別,datatable1將會使用combobox中的selectedValue進行更新。

我讀了一些關於ObjectDataProvider的內容,但我沒有得到它的工作。我怎樣才能設法讓這個工作?

+0

您應該發佈您的嘗試,以便人們可以看到您正在處理的具體問題。你的問題太模糊,無法收集許多有用的答案。 – 2011-03-24 11:14:56

回答

2

使用這樣

<UserControl x:Class="ButtonEffects.UserControl1" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Height="300" Width="300" Name="uc"> 
    <Grid> 
       <ComboBox ItemsSource="{Binding ElementName=uc,Path=Categories}" 
       DisplayMemberPath="CategoryName" SelectedValuePath="Id" 
       SelectedValue="{Binding SelectedCategoryId}"/> 
    </Grid> 
</UserControl> 

分類是一個屬性,你codebehind.The itemsouce將從類別表進行填充和你的SelectedValue將在您的DataContext datatable.Hope更新這有助於

編輯

如果您的datacontext是一個數據集,那麼選定的值應該像

SelectedValue="{Binding datatable1/SelectedCategoryId}" 
+0

如果我明白你的正確。類別datatable應該存儲在一個codebehind屬性中,而我繼續在datacontext中使用常規數據集? – AKG 2011-03-24 11:30:53

+0

是的..你知道了 – biju 2011-03-24 11:36:22

+0

謝謝!我沒有得到ItemsSource綁定工作,但我創建了一個ObjectDataProvider並將數據集分配給該提供者。然後將ItemsSource設置爲objectdataprovider。謝謝您的幫助! – AKG 2011-03-24 12:30:07

相關問題