WPF как привязать gridview? - PullRequest
       3

WPF как привязать gridview?

2 голосов
/ 22 августа 2010

я делаю это xaml:

 <StackPanel Margin="320,0,0,0" Grid.RowSpan="2">
        <ListView ItemsSource="{Binding employeeCollection}">
            <ListView.View>
                <GridView>

                    <GridViewColumn Header="Employee ID" DisplayMemberBinding="{Binding Path=EmployeeID}"/>
                    <GridViewColumn Header="First Name" DisplayMemberBinding="{Binding Path=FirstName}"/>
                    <GridViewColumn Header="Last Name" DisplayMemberBinding="{Binding Path=LastName}"/>
                    <GridViewColumn Header="start" DisplayMemberBinding="{Binding Path=startHR}"/>
                    <GridViewColumn Header="finish" DisplayMemberBinding="{Binding Path=finishHR}">

                </GridViewColumn>
            </GridView>
    </ListView.View>

        </ListView>
    </StackPanel>

и код:

class employeesGrid //: INotifyPropertyChanged
{
    ObservableCollection<employiesData> _employeeCollection = 
    new ObservableCollection<employiesData>();

    public employeesGrid()
{
    _employeeCollection.Add(new employiesData{

      EmployeeID = "World Of Warcraft", 
      FirstName = "Blizzard", 
      LastName = "Blizzard",
      startHR = "2222",
      finishHR = "dfs"
  });


}

    public ObservableCollection<employiesData> employeeCollection
{ get { return _employeeCollection; } }


}

public class employiesData
{
    public string EmployeeID { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string startHR { get; set; }
    public string finishHR { get; set; }
}

}

где внутри моего главного окна я делаю:

// конструктор: InitializeComponent ();employeeGrid em = new employeeGrid ();

1.может кто-нибудь подсказать, что я делаю не так?2.INotifyPropertyChanged, почему я должен его использовать?как мне его использовать?

спасибо за то, что смотрю на мою работу, это очень много значит для меня:)

Допустим, я хочу, чтобы в моей программе было две подобные структуры, что было бы лучшим решением????

Ответы [ 2 ]

1 голос
/ 22 августа 2010
  1. Вам необходимо привязать источник данных вашего представления к экземпляру вашего класса. В вашем конструкторе сделайте это: this.DataContext = new employeesGrid();
  2. INotifyPropertyChanged - это интерфейс, который вы должны использовать, если хотите, чтобы ваш пользовательский интерфейс обновлял его содержимое при изменении базового содержимого.
1 голос
/ 22 августа 2010

Вы никогда не устанавливаете DataContext своих просмотров.

Попробуйте это в своем конструкторе окон:

InitializeComponent(); 
employeesGrid em = new employeesGrid();
this.DataContext = em;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...