2008-11-13 91 views
1

我的視圖dataContext綁定到具有兩個observableCollections成員的presentationModel。在視圖中,我有一個ListView與ItemSource綁定的是第一個observableCollection。在LilstViews列中的一個列中,我想呈現來自presentationModel中第二個obeservable Colletion的值。我不知道如何從observableCollection中獲取值到我的組合框中。有沒有人有一個想法如何解決這個問題?WPF:與GridViewColumn中ComboBox綁定值的問題

回答

3

您需要做的第一件事是創建一個包含您的ComboBox的數據模板,在這種情況下,我已經將ItemsSource綁定到主窗口上的DependencyProperty。這包含演示模型,其中有一個名爲ComboSource的屬性。 SelectedValue已經通過ListViewItem的DataContext綁定到一個包含選定值的屬性。

<ListView.Resources> 
    <DataTemplate x:Key="comboBoxTemplate"> 
     <ComboBox 
      ItemsSource="{Binding 
          Path=ModelData.ComboSource, 
          RelativeSource={RelativeSource AncestorType=Window}}" 
      SelectedValue="{Binding 
          Path=DataContext.Selection, 
          RelativeSource={RelativeSource AncestorType=ListViewItem}}" 
      DisplayMemberPath="Item" 
      SelectedValuePath="Id" 
      /> 
    </DataTemplate> 
</ListView.Resources> 

然後,你將需要在GridViewColumn

<GridViewColumn 
    Header="Selection" 
    Width="160" 
    CellTemplate="{StaticResource comboBoxTemplate}" 
    /> 
+0

坦克從CellTemplate引用此!這非常有幫助 – KaJo 2008-11-14 07:28:43