3 ms·
WPF controls are still system provided/standardized "common" controls, though. Up until recently (.NET Core 3) all WPF releases were still Windows releases. Th
by WorldMaker 6y ago
WPF controls are still system provided/standardized "common" controls, though. Up until recently (.NET Core 3) all WPF releases were still Windows releases.
The issue isn't necessarily caused by the controls themselves or even the theming engine baked into WPF. Had Microsoft prioritized it, WPF might have had stronger system theming/retheming out of the box. It could have provided stronger design themes and more user choice in adopting theme. There's a brief window in the Zune development life cycle where they almost delivered exactly such a thing for WPF. IIRC there were 3 or 4 prominent Zune themes and easy style sheet swaps (including on the fly) to switch between them in WPF and those base stylesheets were almost productionized and included in the system WPF resources. (Then of course we all know what happened to the Zune and things moved to other platforms.) They still likely would have been opt-in because Microsoft prioritizes backwards compatibility, but they were a glimpse to the timeline where Microsoft had maybe done that sort of design work further ahead of time and forced it to be opt-out by default. (Admittedly which they tried and failed to with Windows 8 because developers complained too much that the opt-out was too hard and we'd already lost the war for "native controls/native themes" by that point to corporate/enterprise designers and branding efforts.)
Of course the "two worlds" problem of having multiple "competing" systems controls between the classic Win32 world and the WPF/XAML world is unlikely to ever be solved, given backwards compatibility assurances, but having "two worlds" shouldn't have stopped Microsoft from a single unified theming engine had they the initiative/prioritization. There's even hints that some people at Microsoft were considering it back before WPF was launched. WPF was always a partial shell of the "Avalon" dream of Longhorn's tumultuous development.
- richard_todd 6y agoI hear what you're saying, and I agree that MS could have done much more to allow consistent theming by the user. But, I also know that even a beginner WPF tutorial shows how to arbitrarily adjust controls with a resource dictionary. Meanwhile, I don't recall ever learning how to change the color of a win32/c++ button short of taking over the entire drawing responsibility (I'm sure it's possible but that's beside the point). So as a result of that emphasis, it seems to me a lot more WPF/UWP apps use arbitrary non-standard colors/fonts/highlights/animations, which would be completely at odds with user-selected themes. I know mine did, anyway, so I guess I was part of the problem!