WPF Doesn't display data inside datagrid

I am following the example and I am unable to display data inside my datagrid. It is worth mentioning that I am getting data from db when searching inside debuger.

MainWindow.xaml.cs

public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

    }

public partial class MainWindow : Window
{
    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        using (session...)
        {
            using (transaction...)
            {
                var properties = new List<MyProperty>();
                // this variable is populated inside debugger
                properties = session.Query<MyProperty>().ToList();
                if (properties != null)
                {
                    MRDataGrid.Columns[0].Visibility = System.Windows.Visibility.Hidden;
                    MRDataGrid.Columns[1].Visibility = System.Windows.Visibility.Hidden;
                    MRDataGrid.Columns[8].Visibility = System.Windows.Visibility.Hidden;
                }
            }
        }
    }
}

      

MainWindow.xaml

<Window x:Class="MyProject.WPF.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525"
        WindowStartupLocation="CenterScreen" BorderBrush="Black"
        Background="AntiqueWhite" ResizeMode="NoResize"
        Loaded="Window_Loaded">
    <Grid>
        <DataGrid AutoGenerateColumns="False" Height="202" HorizontalAlignment="Left" Margin="22,82,0,0" 
                  Name="MRDataGrid" VerticalAlignment="Top" Width="461" ItemsSource="{Binding}"/>
    </Grid>
</Window>

      

Update

  • I changed to AutoGenerateColumns = "True" in MainWindow.xaml
  • Added MRDataGrid.ItemsSource = properties; in the xaml.cs code
  • What should I put inside the ItemSource in the MainWindow.xaml?
0


source to share


3 answers


You are not setting any context ItemsSource="{Binding}"

for the job.

Do something like myDataGrid.DataContext=...

or bind the data context or change {Binding}

to point wherever you need it



For example:

if (properties != null)
 {
    myDataGrid.ItemsSource = properties;
    ...

      

+1


source


properties = session.Query (). ToList ();



MRDataGrid.ItemsSource = properties;

0


source


There are no columns in your datagrid. You either need to declare them yourself, or set AutoGenerateColumns="True"

you also need to assign the source of the items as Stan Petrov said.

0


source







All Articles