Простой образец Silverlight не показывает мои данные на сетке данных - PullRequest
1 голос
/ 29 июня 2010

У меня есть простая программа, которая отображает коллекцию в сетке данных.Когда я запускаю код, я не вижу сетки, отображающей данные.Модель:

public class Person
{
    public string Name;
    public int Age;
    public bool Sex;
}

Модель вида:

public class PeopleViewModel:INotifyPropertyChanged
{
    List<Person> _personList;

    public PeopleViewModel()
    {
        _personList = new List<Person>();
        _personList.Add(new Person() { Name = "n1", Age = 20, Sex = true });
        _personList.Add(new Person() { Name = "n2", Age = 20, Sex = true });
        _personList.Add(new Person() { Name = "n3", Age = 20, Sex = true });
        _personList.Add(new Person() { Name = "n4", Age = 20, Sex = true });
        _personList.Add(new Person() { Name = "n5", Age = 20, Sex = false });
    }

    public List<Person> PersonList
    {
        get { return _personList; }
        set { _personList = value; }
    }


    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
    private void RaisePropertyChanged(string propertyName)
    {
        if (PropertyChanged != null)
            PropertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
    }
}

Модель вида xaml

<Grid x:Name="LayoutRoot" Background="White">
    <sdk:DataGrid Name="dataGrid1">
    </sdk:DataGrid>
</Grid>

, код позади

public PeopleView()
    {
        InitializeComponent();
        PeopleViewModel model = new PeopleViewModel();
        dataGrid1.ItemsSource = model.PersonList;
    }

Ответы [ 2 ]

1 голос
/ 20 февраля 2011

Коллекция, которую я связывал, не была общедоступной. Это была моя проблема.

1 голос
/ 29 июня 2010

Должен ли ваш DataGrid XAML содержать AutoGenerateColumns="True"? Я сравниваю ваш код с этим подробным примером .

...