c# - Subscribe to event of an object which is not yet created? -
well doubt if possible, maybe after maybe. want subscribe event when program initialize object created long after form load. @ time of subscription, object null, later created. possible update object event fire?
in form_load, subscribe this
this.mediacenter.itemmanager.root.setprogressbar += (val) => { this.invoke((action)(() => { this.progressbarcontrol1.position = val; })); }; in item manager, object null during form load
private itemcontainerroot _myroot; public itemcontainerroot root { { return this._myroot; } } later database object
this._myroot = context.gettable<item>().single(a => a.id == 0) itemcontainerroot;
try this:
in class library notify when root property changes , use property (not field) everywhere.
class itemmanager : inotifypropertychanged { private itemcontainerroot _myroot; public itemcontainerroot root { { return _myroot; } set { _myroot = value; onpropertychanged("root"); } } public event propertychangedeventhandler propertychanged; protected virtual void onpropertychanged(string propertyname) { propertychangedeventhandler handler = propertychanged; if (handler != null) { handler(this, new propertychangedeventargs(propertyname)); } } } in ui subscribe property changed event of itemmanager after initialization:
itemmanager.propertychanged += (o, args) => { if (args.propertyname == "root" && itemmanager.root != null) { itemmanager.root.setprogressbar += (val) => { this.invoke((action)(() => { this.progressbarcontrol1.position = val; })); }; } };
Comments
Post a Comment