Ok, ik heb weer eens ruzie met die windows forms databinding engine. Het gaat om het binden van een combobox. Ik wil een property van een object (een enum) binden op een combobox. Ik gebruik een parser en een formatter omdat ik bepaalde enums heb die ik een andere string waarde wil geven in de comboboxen. Ik een custom attribute op de members van de enum om die string representatie in op te slaan.
Nu heb ik geprobeerd te binden op de SelectedItem property, de SelectedValue en de SelectedText. Bij de SelectedValue EN bij de SelectedText wordt de combobox gewoon niet initieel gezet. M'n formatter werkt ok, ik zie de property gezet worden op m'n combobox (ik gebruik een eigen threadsafe variant dus ik kan door die code steppen) maar de combobox blijft leeg.
Met de SelectedItem werkt alles prima, op 1 ding na: de waarde wordt pas doorgevoerd zodra de combobox zijn focus verliest. Dit is onacceptabel voor mij omdat de visibility van verschillende andere UI elementen weer afhangt van de waarde in die combobox en nu moet de gebruiker dus eerst op en willekeurige andere control klikken (of ik moet in code de focus verzetten) voordat de UI geupdate wordt. Hoe kan ik dus forceren dat de property geupdate wordt zodra de waarde in de combobox verandert ipv pas als de combobox zijn focus verliest.
Nu heb ik geprobeerd te binden op de SelectedItem property, de SelectedValue en de SelectedText. Bij de SelectedValue EN bij de SelectedText wordt de combobox gewoon niet initieel gezet. M'n formatter werkt ok, ik zie de property gezet worden op m'n combobox (ik gebruik een eigen threadsafe variant dus ik kan door die code steppen) maar de combobox blijft leeg.
Met de SelectedItem werkt alles prima, op 1 ding na: de waarde wordt pas doorgevoerd zodra de combobox zijn focus verliest. Dit is onacceptabel voor mij omdat de visibility van verschillende andere UI elementen weer afhangt van de waarde in die combobox en nu moet de gebruiker dus eerst op en willekeurige andere control klikken (of ik moet in code de focus verzetten) voordat de UI geupdate wordt. Hoe kan ik dus forceren dat de property geupdate wordt zodra de waarde in de combobox verandert ipv pas als de combobox zijn focus verliest.