2017-08-31 12 views
0

への結合はここでWPFのDataGrid:親オブジェクトここ

public partial class ChallanListView : UserControl 
{ 
    public ObservableCollection<ChallanDS> challans = ChallanModel.GetChallansList(); 
    public ObservableCollection<QualityDS> qualities = ChallanModel.GetQualitiesList(); 

    public ChallanListView() 
    { 
     InitializeComponent(); 
     ChallansDataGrid.DataContext = this; 
     ChallansDataGrid.ItemsSource = this.challans; 
    } 
} 

の背後に私のコードは私が私の中にある「資質」のリストにそれをバインドしたい品質電池については、XAML

<DataGrid Name="ChallansDataGrid" IsReadOnly="True" AutoGenerateColumns="False"> 
    <DataGrid.Columns> 
     <DataGridTextColumn Header="Challan Date" Binding="{Binding ChallanDate, StringFormat=d}"/> 
     <DataGridTemplateColumn Header="Quality" Binding="?????????????????"> 
     </DataGridTemplateColumn> 
    </DataGrid.Columns> 
</DataGrid> 

ですChallanListView。どうやってやるの。

+0

@ mm8私たちは祖先の機能を利用できませんか?私はWPFとMVVMが初めてです。 –

+0

間違いなく。 DataGridColumnには視覚的な祖先はありません。 – mm8

+2

DataGridが期待どおりに機能するためには、基になるデータオブジェクトのプロパティに列が "接続"している必要があります。だからこれについて忘れてください。 ChallanDSクラスにプロパティを追加し、DataGridで表示および編集するすべてのオブジェクトにプロパティを設定します。 – mm8

答えて

1

できません。 DataGridItemsSourceのデータオブジェクトのプロパティにのみ列をバインドできます。それがDataGridの仕組みです。

したがって、バインドするプロパティをChallanDSクラスに移動する必要があります。