[databind][user control] Не срабатывает биндинг
От: Crusnik  
Дата: 01.12.10 16:28
Оценка:
На основе примера из библиотеки winforms\bltoolkit.Demo сделал свое приложение и обнаружил, что когда
на форме делаю связку через objectbinder со своим компонентом textboxbutton(едитбокс плюс кнопка + внутренне цифровое поле в зависимости от значения которого будет меняться содержимое едитбокса )

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

Пожалуйста, спасите.Понимаю, что упустил что-то важное, но, вот, что.....
Думал проблема с биндингом на стороне моего компонента, читал мсдн, форумы... вроде сделал все как там рекомендовали, а биндинг все равно не срабатывает.

Заранее спасибо за помощь.

public abstract class ВидыРабот : БазоваяСущность
{
 [MaxLength(100), Required]
 public abstract string Наименование { get; set; }
 public abstract int КлючВалюты { get; set; }
 public abstract float БазовыйТариф { get; set; }
}

public abstract class  БазоваяСущность : EditableObject
{
[PrimaryKey(0), NonUpdatable]
public abstract int Ключ { get; protected internal set; }

[MaxLength(100)]
public abstract string Комментарий { get; set; }

public virtual БазоваяСущность CopyTo(БазоваяСущность obj)
{
  Map.ObjectToObject(this, obj);
  return obj;
}

public virtual БазоваяСущность Clone()
{
БазоваяСущность obj = (БазоваяСущность)TypeAccessor.CreateInstanceEx(GetType());

 CopyTo(obj);
 obj.AcceptChanges();
 return obj;
}
}

//===========================================================================
    public partial class TextBoxButton : UserControl, INotifyPropertyChanged
    {
        private int _StoreID;
        
        public event PropertyChangedEventHandler PropertyChanged;

        private void NotifyPropertyChanged(String info)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs(info));
            }
        } 

        [Browsable(true)]
        public override string Text
        {
            get
            {
                return полеВвода.Text;
            }
            set
            {
                полеВвода.Text = value;
            }
        }

        [Browsable(true),Bindable(true),DefaultValue(-1)]
        public int StoredID
        {
            get
            {
                return _StoreID;
            }
            set
            {
                _StoreID = value;
                NotifyPropertyChanged("StoredID");
            }
        }

      }
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.