Bind an ObservableCollection to a wpf datagrid : Grid stays empty
25,836
You need to bind to a public property.
public ObservableCollection<EvtCode> ObservableEvtCode
{
get
{
return this.glb_ObservableEvtCode;
}
}
And XAML:
<DataGrid
...
DataContext="{Binding RelativeSource={RelativeSource AncestorType=Window}}"
ItemsSource="{Binding ObservableEvtCode}" >
</DataGrid>
Edit: see also this answer
Author by
Walter Fabio Simoni
Updated on July 09, 2022Comments
-
Walter Fabio Simoni almost 2 years
I would like to bind an
ObservableCollection
to wpf datagrid. MyObservableCollection
is not empty, but, my datagrid stay empty :public partial class Fenetre_EvtCode : Window { ObservableCollection<EvtCode> glb_ObservableEvtCode; public Fenetre_EvtCode() { InitializeComponent(); EvtCode myEvt = new EvtCode(); glb_ObservableEvtCode = myEvt.GetAllEvtCode(); } }
Here is my xaml:
<DataGrid Foreground="Aqua" Name="myDataGridEvtCode" AutoGenerateColumns="True" HorizontalAlignment="Stretch" Margin="0,0,0,0" VerticalAlignment="Stretch" Height="453" ItemsSource="{Binding glb_ObservableEvtCode}" />
I repeat : I looked in debug, and my
ObservableCollection
is not empty.Anyone know why ma datagrid stay empty?
-
RBT almost 8 yearsWhat is the underlying reason due to which it does not work only by setting ItemsSource property on datagrid? if we have defined an observable collection (already populated) in the code behind and setting the ItemSource property in datagrid then WPF run time should be able to bind to it using MVVM pattern. I wonder why it doesn't.