public void Bind( DemoAchievementInfo data )
 {
     NameLabel.Text = data.AchievementName;
     DescriptionLabel.Text = data.Description;
     ProgressBar.Value = data.Progress;
     ProgressLabel.Text = data.FormattedProgress;
 }
    private void initializeRowEvents( DemoAchievementInfo item, dfControl row, int itemIndex )
    {
        //row.MouseEnter += ( sender, args ) => { row.Focus(); };

        row.EnterFocus += ( sender, args ) =>
        {
            this.SelectedItem = item;
            if( SelectionChanged != null ) SelectionChanged( item );
            if( SelectedItemProxy != null ) SelectedItemProxy.Data = item;
        };

        row.KeyDown += ( sender, args ) =>
        {

            if( args.Used )
                return;

            if( args.KeyCode == KeyCode.RightArrow )
            {
                selectNext( itemIndex );
                args.Use();
            }
            else if( args.KeyCode == KeyCode.LeftArrow )
            {
                selectPrevious( itemIndex );
                args.Use();
            }
            else if( args.KeyCode == KeyCode.UpArrow )
            {
                selectUp( itemIndex );
                args.Use();
            }
            else if( args.KeyCode == KeyCode.DownArrow )
            {
                selectDown( itemIndex );
                args.Use();
            }
            else if( args.KeyCode == KeyCode.Home )
            {
                selectFirst();
                args.Use();
            }
            else if( args.KeyCode == KeyCode.End )
            {
                selectLast();
                args.Use();
            }

        };
    }