2009-07-22 38 views
0

私はWPF DataGrid(非常に新しいWPF)を実装しています。静的リソースを使用してComboBoxColumnをバインドする方法を示したチュートリアルに続きました。しかし、私のデータグリッド内のいくつかの列のデータバインディングは、実行時まで認識されません。WPFツールキット - Datagrid - DynamicResourceを使用したComboboxColumnバインディング

このため、staticresourceでバインドすることはできません。 DataGridComboBoxColumnのデータバインドを行う方法はありますか? ASP.NETでは、私たちはこれを行うことができ、列の内容を動的に作成できるrowdataboundコードを持っていることを知っています。しかし、WPFでは、すべてがリソースを通じて行われるように見えます。

DataGridで動的リソースを使用してデータバインドする方法はありますか?

ありがとうございます!

答えて

0

バインディングを動的に設定できます。 このようなもの(このコードはグリッドビューの列を作成し、動的なバインディングを割り当てます)

 private void AddColumn(GridView view, Field fld) 
     { 
      GridViewColumn col = new GridViewColumn(); 
      col.Header = fld.Label; 
      Binding bnd = new Binding(); 
      switch (fld.FieldType) 
      { 
       case FieldType.DateTime: 
       bnd.Converter = new DateTimeToDateStringConverter(); 
       break; 
// or some other converters 
      } 
      bnd.Path = new PropertyPath(string.Format("Fields[{0}]", 
    _table._fields.IndexOf(fld))); // the string matches what you would use in XAML 
      col.DisplayMemberBinding = bnd; 
      view.Columns.Add(col); 
     } 
関連する問題