Whoops. And there was a typo in that one. This one runs :)

On Mon, May 2, 2011 at 5:41 PM, Michael Minutillo <
[email protected]> wrote:

> How much do you dislike reflection? The attached is a quick LINQPad mockup
> of a technique I have used in the past. A "real" implementation would need
> to be more careful (there is no error handling, no real collection support
> and circular references will result in stack overflows) but the basics are
> here.
>
> Essentially this is a new component that is responsible for listening to
> INotifyPropertyChanged events. When you bind it to a new object it will
> search through it's properties (via reflection) and try to bind to them
> recursively as well. The nice thing is that because it also implements
> INotifyPropertyChanged and exposed a single boolean value you can bind
> things (like Button enabledness/visibility) to it directly.
>
> It's a cheap trick but it works ;)
>
>
>
> On Mon, May 2, 2011 at 3:19 PM, Greg Keogh <[email protected]> wrote:
>
>> Folks, in dialog-like screens with OK/Cancel buttons and a bound data
>> object I like to implement and listen to INotifyPropertyChanged on the data
>> object so I know the screen is “dirty” and I enable the OK button.
>>
>>
>>
>> When the data bound object is composed from a nest of other objects, it
>> becomes impractical to pass changed events up through the levels of objects
>> to the top. It can be done by manually sending the event up through
>> child-parent objects, but the code to create this sort of “event bubbling”
>> is verbose and tedious.
>>
>>
>>
>> Is there some trick that I’m not aware of for creating mock property
>> changed “event bubbling” in my own nested objects?
>>
>>
>>
>> Greg
>>
>>
>>
>
>

Attachment: DirtyTracking.linq
Description: Binary data

Reply via email to