WPF Datagrid не отображает данные itemSource

Я передаю список в качестве источника данных сетки данных, но сетка данных не показывает никаких данных в интерфейсе. Помогите мне, я новичок в wpf. Я пробовал много раз, но не получал должных результатов.

public partial class Home : Window
{
    List<Member> members = new List<Member>();
    public Home()
    {
        InitializeComponent();
        LoadData();

        memberGrid.ItemsSource = members;
    }
    void LoadData()
    {
        Member member = new Member()
        {
            id = 1,name = "raj",dob = "monday",mobileno = "27487228"
        };
        members.Add(member);
    }
}
public class Member
{
    public  int id;
    public   string name;
    public  string dob;
    public string mobileno;
}
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
59
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

привет, пожалуйста, установите свойства для getter setter проблема в классе

DataGrid автоматически создает столбцы только для свойств, поскольку каждый столбец создает привязку, а для привязок WPF требуются свойства. Класс DisplayTable объявляет поля.

вместо

общедоступный внутренний идентификатор;

попробуй это

public class Member
{
    public int id { get; set; }
    public string name { get; set; }
    public string dob { get; set; }
    public string mobileno { get; set; }
}

Это не полный ответ на проблему. Поскольку он добавляет элементы в исходную коллекцию после, назначая ее ItemsSource, коллекция members должна быть ObservableCollection, а не List. Или назначение должно произойти послеMember элементы были добавлены в members коллекцию. Этот ответ не исправляет код, это только часть решения. Не могли бы вы добавить это к своему ответу?

BionicCode 24.07.2019 08:49

да, но проблема в свойствах класса... этот класс можно взять в Observable Collection. Я не говорю не использовать Observable Collection таким образом, я говорю, что -@BionicCode

Bhushan Shimpi 24.07.2019 08:54

Да, вы абсолютно правы, недостающие свойства — это проблема. Но даже если исправить это, добавив свойства в Member, DataGrid все равно будет пустым, потому что он добавляет элементы в исходную коллекцию ПОСЛЕ, которой она была назначена ItemsSource. DataGrid не может обновиться, чтобы отразить добавленные элементы.

BionicCode 24.07.2019 08:57

Другие вопросы по теме