6

ObservableCollectionwpf データグリッドにバインドしたいと思います。私ObservableCollectionは空ではありませんが、データグリッドは空のままです:

public partial class Fenetre_EvtCode : Window
{
    ObservableCollection<EvtCode> glb_ObservableEvtCode;

    public Fenetre_EvtCode()
    {
        InitializeComponent();

        EvtCode myEvt = new EvtCode();
        glb_ObservableEvtCode   =   myEvt.GetAllEvtCode();
    }
}

ここに私のxamlがあります:

<DataGrid Foreground="Aqua" 
          Name="myDataGridEvtCode" 
          AutoGenerateColumns="True"  
          HorizontalAlignment="Stretch" 
          Margin="0,0,0,0" 
          VerticalAlignment="Stretch" 
          Height="453" 
          ItemsSource="{Binding glb_ObservableEvtCode}" />

私は繰り返します:私はデバッグで見ました、そして私のObservableCollectionは空ではありません。

データグリッドが空のままである理由を知っている人はいますか?

4

2 に答える 2

16

public propertyにバインドする必要があります。

public ObservableCollection<EvtCode> ObservableEvtCode
{
  get
  {
    return this.glb_ObservableEvtCode;
  }
}

XAML:

<DataGrid  
    ... 
    DataContext="{Binding RelativeSource={RelativeSource AncestorType=Window}}"
    ItemsSource="{Binding ObservableEvtCode}" >
</DataGrid>

編集:この回答も参照してください

于 2013-02-26T10:54:28.963 に答える
0

私の場合、これが誰かを助けることができるなら:

クラスのデータ メンバーもパブリック プロパティである必要があります。

于 2016-10-04T17:29:01.320 に答える