Sep 2, 2011
I have a class, Vehicle. I created two child classes, Car and Plane. I want to monitor the speed, which is a Vehicle Property, and bind it to a control (label, or image, for example) in WPF. When i create a static Class which only purpose is watching the Speed Property, it works, as far as the INotifyPropertyChanged is declared with the Speed Property name.
View 2 Replies
But the problem is, I have to create dynamicly multiple Cars and Planes by looking in an XML file and deserializing my objects, and creating multiple Car or Plane UserControl (Let's not discuss this way of working, please). So I have to get the Speed property inside the Vehicle Class (which is normal), and I have to get a INotifyPropertyChanged on each Speed of each Vehicle Created. So, my Cars and Planes are loaded, and I have to get all speeds, but I can't create a static Speed property by Vehicle. By the way, by creating a non-static Speed property (as int, for example) in Vehicle Class with INotifyPropertyChanged raised in the setter, it does not work. The event seems to be raised, but my converter is not fired, and my controls does not update.
In my Vehicle Class
Private SpeedValue As Integer
Public Property Speed() As Short
The PlaneView Class is almost the same for this part.
I confirm that the converter is fired just once, the first time, when the tabs are created, because I put a breakpoint on the Convert function definition. After that, the converter is never fired again. So the picture img_fonctionnement is displayed, but it is never updated. But the Speed property is updated, I swear. And the INotifyPropertyChanged (in Speed's setter) is raised, as far as i know with the help of the debugger.
And the "an item with the same key has already been added" (which appears in a messageBox, and not as an exception) seems to appear only when I am to long with the debugger. In normal execution mode, it never shows.