2015-07-10 87 views
0

在我的項目中,我有一個數據網格與三個組合框模板列。並且組合框使用xaml進行數據綁定。但是當我運行項目組合框顯示system.data.dataRowView。這是我在數據網格單元數據網格模板列內的組合框顯示system.data.datarowview

<DataGridTemplateColumn Header="Category" Width="*" x:Name="categoryColumn"> 
       <DataGridTemplateColumn.CellTemplate> 
        <DataTemplate> 
         <ComboBox x:Name="categoryBox" 
          IsEditable="True" 
          fa:FocusAttacher.Focus="True" 
          controls:TextBoxHelper.ClearTextButton="True" 
          controls:TextBoxHelper.SelectAllOnFocus="True" 
          controls:TextBoxHelper.Watermark="Category" 
          MaxDropDownHeight="125" 
          SelectionChanged="CategoryBox_OnSelectionChanged" 
          IsSynchronizedWithCurrentItem="True" 
          DisplayMemberPath="{Binding CategoriesCollection.Columns[1]}" 
          SelectedValuePath="{Binding CategoriesCollection.Columns[0]}"  
          ItemsSource="{Binding Path=DataContext.CategoriesCollection.DefaultView, 
          RelativeSource={RelativeSource FindAncestor, AncestorType=DataGrid}}" /> 
        </DataTemplate> 
       </DataGridTemplateColumn.CellTemplate> 
      </DataGridTemplateColumn> 

爲什麼它沒有顯示正確的數據代碼。任何人都可以提出我的方式來解決這個問題

+0

獲得的綁定路徑擺脫'CategoriesCollection.'爲'DisplayMemberPath'和'SelectedValuePath'這應該只是'{綁定路徑=列[1]}' –

+0

它不工作 – Sony

+0

你仍在'系統。 data.dataRowView' –

回答

1

代碼DisplayMemberPath="{Binding CategoriesCollection.Columns[1]}"失敗,因爲它已被賦予相對源只是結合作爲ItemsSource結合你存在。

要麼爲Displaymember路徑提供適當的結合

{Binding Path=DataContext.CategoriesCollection.Columns[1], 
     RelativeSource={RelativeSource FindAncestor, AncestorType=DataGrid}}"` 

或硬編碼它是被尋找的目標屬性名稱。