4 ms·
So a drag and drop UI designer, followed by a simple binding to a model code behind with literally the words 'Text={Binding Name}' is apparently making 'easy th
by hacker_9 10y ago
So a drag and drop UI designer, followed by a simple binding to a model code behind with literally the words 'Text={Binding Name}' is apparently making 'easy things hard'?
- Beltiras 10y agoI have to do funky validations on textfields. If the validation fails, make the field blink, or show an icon. Never allow a field to have input that fails validation (if you paste an invalid value, don't change the value of the field). I can do this several different ways in HTML and JS, or Java and one of it's UI frameworks (or my pivot framework, Qt). This apparently is hard to do with WPF. I solved it but the solution left me with a bad taste in my mouth. I shudder to think about other 'simple things' that I will have to torture a solution for given my experience. I would entertain the idea that I am a bad coder if I didn't have some experience delivering. I've spoken with a veteran WPF developer to see if I was misunderstanding something but apparently my solution was fine.
- skc 10y agoWhat you just described seems fairly trivial to achieve in WPF to be honest. But it requires you fully embracing the data binding rules of the platform.
- Beltiras 10y agoThat's what I thought. Maybe my "senior dev" connection is not competent. It doesn't really matter thou, I have other reasons to avoid .NET. I have to link against unmanaged C++ and apparently there are inherent memory leaks (memory assigned by UC++ then handed to .NET process can not be freed by .NET).
- stinos 10y agomemory assigned by UC++ then handed to .NET process can not be freed by .NET Pretty sure that can be solved by implementing IDisposable and having Dispose call back into C++ to free resources. Probably if you add a managed C++ layer in between this is sort of built-in. Oh and like skc says: the validation you're after does work as well, though I admit it takes some time to figure out exactly how to do it.