c# - 将 ObservableCollection 绑定(bind)到 wpf 数据网格 : Grid stays empty

标签 c# wpf data-binding datagrid observablecollection

我想将一个 ObservableCollection 绑定(bind)到 wpf datagrid。 我的 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 不为空。

有人知道为什么 ma datagrid 保持空白吗?

最佳答案

您需要绑定(bind)到一个公共(public)属性

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

和 XAML:

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

编辑:另见 answer

关于c# - 将 ObservableCollection 绑定(bind)到 wpf 数据网格 : Grid stays empty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15087131/

相关文章:

c# - 如何从azure表存储查询中获取超过1000个实体?

c# - 检查 C# 中的 Nullable Guid 是否为空

c# - 如何避免重复的xaml代码

C# IDataErrorInfo 和子属性

WPF 绑定(bind)到 BezierSegment 中的点

c# - 在c#中如何从资源文件夹中获取以前缀开头的文件名

c# - LINQ to XML - 如何从匿名对象获取字典?

java - Spring 和带有 select 的表单

c# - Windows Phone 8.1 MediaElement 灾难性故障(HRESULT 异常 : 0x8000FFFF (E_UNEXPECTED))

c# - C# : "An object reference is required for the non-static field, method, or property" 错误