![]() |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
|
Welcome to Vista Forums we are your forum to discuss Windows Vista x64 and x86 systems. Whether you need help or just want to post an idea you have on Vista, this is the forum for you.
br> br> |
| |||||||
![]() |
| | Thread Tools | Display Modes |
| | #1 (permalink) |
| Guest | DataBinding to indexer Hi all, I'm searching for a solution to bind a UIElement to a custom Data object with dynamic number of properties. The first idea was to wrap all values-properties, those I want to bind, in a collection ( Dictionary<Attribute, string> _properties ) The access to values would be provided through an indexer: public Attribute this[string propertyName] { get { return _properties[propertyName];} set .... } to bind the indexer to UI property name schould be something like that: for example in code: Binding b1 = new Binding ("["+0+"]"); Binding b1 = new Binding ("["+1+"]"); and so on.. or in XAML: Text="{Binding Path=[someName]}" so that works really good for geting data to ui. But what i'm missing here is notification of one property's changes. If my custom class would implement INotifyPropertyChange, I could fire for example PropertyChange("[0]"), but this doesn't work. If I fire PropertyChange(""); with empty string as parameter, then I can get updates, but each item in the property list will be called. Thats not prety nice. I'm confused. Any simple ideas, how to notify the ui about property chnage of an individual property from the list??? Thanks a lot |
My System Specs![]() |
| | #2 (permalink) |
| Guest | Re: DataBinding to indexer System.Collections.Specialized.INotifyCollectionChanged in WindowsBase.dll is your friend -- Ifeanyi Echeruo [MSFT] This posting is provided "AS IS" with no warranties, and confers no rights. "AlexB" <AlexB@discussions.microsoft.com> wrote in message news:6224DDD3-78D7-4E00-BB3A-C7A073405BDB@microsoft.com... > Hi all, > > I'm searching for a solution to bind a UIElement to a custom Data object > with dynamic number of properties. > > The first idea was to wrap all values-properties, those I want to bind, in > a > collection ( Dictionary<Attribute, string> _properties ) > The access to values would be provided through an indexer: > > public Attribute this[string propertyName] > { > get { return _properties[propertyName];} > set .... > } > > to bind the indexer to UI property name schould be something like that: > for example in code: > Binding b1 = new Binding ("["+0+"]"); > Binding b1 = new Binding ("["+1+"]"); and so on.. > > or in XAML: Text="{Binding Path=[someName]}" > > so that works really good for geting data to ui. But what i'm missing here > is notification of one property's changes. If my custom class would > implement > INotifyPropertyChange, I could fire for example PropertyChange("[0]"), but > this doesn't work. If I fire PropertyChange(""); with empty string as > parameter, then I can get updates, but each item in the property list will > be > called. Thats not prety nice. I'm confused. > > Any simple ideas, how to notify the ui about property chnage of an > individual property from the list??? > > Thanks a lot |
My System Specs![]() |
| | #3 (permalink) |
| Guest | Re: DataBinding to indexer System.Collections.Specialized.INotifyCollectionChanged in WindowsBase.dll is your friend -- Ifeanyi Echeruo [MSFT] This posting is provided "AS IS" with no warranties, and confers no rights. "AlexB" <AlexB@discussions.microsoft.com> wrote in message news:6224DDD3-78D7-4E00-BB3A-C7A073405BDB@microsoft.com... > Hi all, > > I'm searching for a solution to bind a UIElement to a custom Data object > with dynamic number of properties. > > The first idea was to wrap all values-properties, those I want to bind, in > a > collection ( Dictionary<Attribute, string> _properties ) > The access to values would be provided through an indexer: > > public Attribute this[string propertyName] > { > get { return _properties[propertyName];} > set .... > } > > to bind the indexer to UI property name schould be something like that: > for example in code: > Binding b1 = new Binding ("["+0+"]"); > Binding b1 = new Binding ("["+1+"]"); and so on.. > > or in XAML: Text="{Binding Path=[someName]}" > > so that works really good for geting data to ui. But what i'm missing here > is notification of one property's changes. If my custom class would > implement > INotifyPropertyChange, I could fire for example PropertyChange("[0]"), but > this doesn't work. If I fire PropertyChange(""); with empty string as > parameter, then I can get updates, but each item in the property list will > be > called. Thats not prety nice. I'm confused. > > Any simple ideas, how to notify the ui about property chnage of an > individual property from the list??? > > Thanks a lot |
My System Specs![]() |
| | #4 (permalink) |
| Guest | Re: DataBinding to indexer Hi Ifeanyi, Is there going to be any better documentation for INotifyCollectionChanged in the SDK? 1. The constructors for NotifyCollectionChangedEventArgs are very difficult to follow. Static factory methods named Add, Move, Remove etc would be much simpler. 2. I did a complete collection implementation of INotifyCollectionChanged and passed it to a ListCollectionView. But when firing collection changed events I got back exceptions stating that Range changes are not supported. This doesn't seem to be mentioned anywhere. I had to go back and hack my collection to fire a number of change events for each Ranged change ![]() Do any classes actually support ranged changes? - Doug "Ifeanyi Echeruo [MSFT]" <ifeanyie@online.microsoft.com> wrote in message news:OUVX5Za3GHA.3344@TK2MSFTNGP05.phx.gbl... > System.Collections.Specialized.INotifyCollectionChanged in WindowsBase.dll > is your friend > > -- Ifeanyi Echeruo [MSFT] > This posting is provided "AS IS" with no warranties, and confers no > rights. > > "AlexB" <AlexB@discussions.microsoft.com> wrote in message > news:6224DDD3-78D7-4E00-BB3A-C7A073405BDB@microsoft.com... >> Hi all, >> >> I'm searching for a solution to bind a UIElement to a custom Data object >> with dynamic number of properties. >> >> The first idea was to wrap all values-properties, those I want to bind, >> in a >> collection ( Dictionary<Attribute, string> _properties ) >> The access to values would be provided through an indexer: >> >> public Attribute this[string propertyName] >> { >> get { return _properties[propertyName];} >> set .... >> } >> >> to bind the indexer to UI property name schould be something like that: >> for example in code: >> Binding b1 = new Binding ("["+0+"]"); >> Binding b1 = new Binding ("["+1+"]"); and so on.. >> >> or in XAML: Text="{Binding Path=[someName]}" >> >> so that works really good for geting data to ui. But what i'm missing >> here >> is notification of one property's changes. If my custom class would >> implement >> INotifyPropertyChange, I could fire for example PropertyChange("[0]"), >> but >> this doesn't work. If I fire PropertyChange(""); with empty string as >> parameter, then I can get updates, but each item in the property list >> will be >> called. Thats not prety nice. I'm confused. >> >> Any simple ideas, how to notify the ui about property chnage of an >> individual property from the list??? >> >> Thanks a lot > > |
My System Specs![]() |
| | #5 (permalink) |
| Guest | Re: DataBinding to indexer Hi Ifeanyi, Is there going to be any better documentation for INotifyCollectionChanged in the SDK? 1. The constructors for NotifyCollectionChangedEventArgs are very difficult to follow. Static factory methods named Add, Move, Remove etc would be much simpler. 2. I did a complete collection implementation of INotifyCollectionChanged and passed it to a ListCollectionView. But when firing collection changed events I got back exceptions stating that Range changes are not supported. This doesn't seem to be mentioned anywhere. I had to go back and hack my collection to fire a number of change events for each Ranged change ![]() Do any classes actually support ranged changes? - Doug "Ifeanyi Echeruo [MSFT]" <ifeanyie@online.microsoft.com> wrote in message news:OUVX5Za3GHA.3344@TK2MSFTNGP05.phx.gbl... > System.Collections.Specialized.INotifyCollectionChanged in WindowsBase.dll > is your friend > > -- Ifeanyi Echeruo [MSFT] > This posting is provided "AS IS" with no warranties, and confers no > rights. > > "AlexB" <AlexB@discussions.microsoft.com> wrote in message > news:6224DDD3-78D7-4E00-BB3A-C7A073405BDB@microsoft.com... >> Hi all, >> >> I'm searching for a solution to bind a UIElement to a custom Data object >> with dynamic number of properties. >> >> The first idea was to wrap all values-properties, those I want to bind, >> in a >> collection ( Dictionary<Attribute, string> _properties ) >> The access to values would be provided through an indexer: >> >> public Attribute this[string propertyName] >> { >> get { return _properties[propertyName];} >> set .... >> } >> >> to bind the indexer to UI property name schould be something like that: >> for example in code: >> Binding b1 = new Binding ("["+0+"]"); >> Binding b1 = new Binding ("["+1+"]"); and so on.. >> >> or in XAML: Text="{Binding Path=[someName]}" >> >> so that works really good for geting data to ui. But what i'm missing >> here >> is notification of one property's changes. If my custom class would >> implement >> INotifyPropertyChange, I could fire for example PropertyChange("[0]"), >> but >> this doesn't work. If I fire PropertyChange(""); with empty string as >> parameter, then I can get updates, but each item in the property list >> will be >> called. Thats not prety nice. I'm confused. >> >> Any simple ideas, how to notify the ui about property chnage of an >> individual property from the list??? >> >> Thanks a lot > > |
My System Specs![]() |
| | #6 (permalink) |
| Guest | Re: DataBinding to indexer I'll pass your comments on the the SDK folks. I dont know of any controls that accept range changes. I'll ask the databinding team to comment. -- Ifeanyi Echeruo [MSFT] This posting is provided "AS IS" with no warranties, and confers no rights. |
My System Specs![]() |
| | #7 (permalink) |
| Guest | Re: DataBinding to indexer Hi Ifeanyi, i think with INotifyCollectionChanged i can notify some changes in a collection like remove or add items to colletion. But what i need is notification of changes of one item's data, which is databinded to an UI dependency property. I don't want datatabind UI to a list of items (ObservableCollection), that is simple. What i want is databinding an UI property to one ListItem and another UI property to another Listitem from the same collection. With indexer i'm able to get data to UI for initialzation, but i can't find a way for notification of chages in items? "Ifeanyi Echeruo [MSFT]" wrote: > I'll pass your comments on the the SDK folks. > I dont know of any controls that accept range changes. I'll ask the > databinding team to comment. > > -- Ifeanyi Echeruo [MSFT] > This posting is provided "AS IS" with no warranties, and confers no rights. > > > |
My System Specs![]() |
| | #8 (permalink) |
| Guest | Re: DataBinding to indexer Hi Ifeanyi, i think with INotifyCollectionChanged i can notify some changes in a collection like remove or add items to colletion. But what i need is notification of changes of one item's data, which is databinded to an UI dependency property. I don't want datatabind UI to a list of items (ObservableCollection), that is simple. What i want is databinding an UI property to one ListItem and another UI property to another Listitem from the same collection. With indexer i'm able to get data to UI for initialzation, but i can't find a way for notification of chages in items? "Ifeanyi Echeruo [MSFT]" wrote: > I'll pass your comments on the the SDK folks. > I dont know of any controls that accept range changes. I'll ask the > databinding team to comment. > > -- Ifeanyi Echeruo [MSFT] > This posting is provided "AS IS" with no warranties, and confers no rights. > > > |
My System Specs![]() |
| | #9 (permalink) |
| Guest | Re: DataBinding to indexer I think you're looking for INotifyPropertyChanged. - Doug "AlexB" <AlexB@discussions.microsoft.com> wrote in message news:F730B1CE-118F-4CB0-823E-4C487FDA4CE6@microsoft.com... > Hi Ifeanyi, > > i think with INotifyCollectionChanged i can notify some changes in a > collection like remove or add items to colletion. But what i need is > notification of changes of one item's data, which is databinded to an UI > dependency property. I don't want datatabind UI to a list of items > (ObservableCollection), that is simple. What i want is databinding an UI > property to one ListItem and another UI property to another Listitem from > the same collection. With indexer i'm able to get data to UI for > initialzation, but i can't find a way for notification of chages in items? > > "Ifeanyi Echeruo [MSFT]" wrote: > >> I'll pass your comments on the the SDK folks. >> I dont know of any controls that accept range changes. I'll ask the >> databinding team to comment. >> >> -- Ifeanyi Echeruo [MSFT] >> This posting is provided "AS IS" with no warranties, and confers no >> rights. >> >> >> |
My System Specs![]() |
| | #10 (permalink) |
| Guest | Re: DataBinding to indexer I think you're looking for INotifyPropertyChanged. - Doug "AlexB" <AlexB@discussions.microsoft.com> wrote in message news:F730B1CE-118F-4CB0-823E-4C487FDA4CE6@microsoft.com... > Hi Ifeanyi, > > i think with INotifyCollectionChanged i can notify some changes in a > collection like remove or add items to colletion. But what i need is > notification of changes of one item's data, which is databinded to an UI > dependency property. I don't want datatabind UI to a list of items > (ObservableCollection), that is simple. What i want is databinding an UI > property to one ListItem and another UI property to another Listitem from > the same collection. With indexer i'm able to get data to UI for > initialzation, but i can't find a way for notification of chages in items? > > "Ifeanyi Echeruo [MSFT]" wrote: > >> I'll pass your comments on the the SDK folks. >> I dont know of any controls that accept range changes. I'll ask the >> databinding team to comment. >> >> -- Ifeanyi Echeruo [MSFT] >> This posting is provided "AS IS" with no warranties, and confers no >> rights. >> >> >> |
My System Specs![]() |
![]() |
| Thread Tools | |
| Display Modes | |
| |
Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| DataBinding and ListView | Lammert | Avalon | 0 | 02-14-2008 02:04 PM |
| Databinding issue | IHaveThePower | Avalon | 0 | 11-02-2007 07:02 AM |
| How to implement databinding like this? | Leo Xue | Avalon | 1 | 11-14-2006 03:38 PM |
| DataBinding to indexer | AlexB | Avalon | 0 | 09-20-2006 09:59 AM |
| Databinding and Commands | Corrado Cavalli [MVP] | Avalon | 1 | 09-04-2006 11:31 PM |