开发者

WPF how to bind gridview?

i am doing this 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>

and the code behind is :

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; }
}

}

where inside my main开发者_JAVA百科 window i am doing :

//constructor: InitializeComponent(); employeesGrid em = new employeesGrid();

1.can someone please guide me what am i doing wrong ? 2.INotifyPropertyChanged why should i use it ? how should i use it ?

thanku for gazing in my work it means a lot to me :)

lets say i want two sturctures like this in my program what would be the best implmantion ????


You never set your listviews' DataContext.

Try this in your window constructor:

InitializeComponent(); 
employeesGrid em = new employeesGrid();
this.DataContext = em;


  1. You need to bind your view's datasource to your class instance. In your constructor, do this: this.DataContext = new employeesGrid();
  2. INotifyPropertyChanged is an interface that you should use if you want your UI to refresh it's content when the underlying content changes.
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜