На основе примера из библиотеки 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");
}
}
}