We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date

The Styles and Theme Mess

Okay, I don't mean to come off like a troll... but I'm frustrated by belief. After years of working with Syncfusion, I'm attempting to now take advantage of some of the new stuff, such as the 2007 look-and-feel. One of the main issues is the ability to pick different Office2007-like visual themes.

But the themes and styles system in Syncfusion looks like a hopeless mess. It is utterly inconsistent in its implementation. Some controls use the Office2007Colors class, some use the Office12ColorTable. Both of these classes have similar but different "Managed" Colors (of which there is little to no documentation).

But they are different classes that sort of do the same thing, but you have to "manage" them independently to try and get the random usage by different controls to be consistent on your forms. And most controls don't allow you to even specify "Managed" as an option! For those, you have to explicitly set to BLUE, SILVER or BLACK. But that doesn't let you allow for custom colors (see the Office2007Color ApplyMangedColor() method).

The usage of these managed colors is entirely ignored by many controls. And in some cases, applied only partially. The menus, for example, adopt the colors for the bars but not for the text on them or the entirety of the menus that drop down from them. For those colors it uses the XP themes (even if you set the ThemesEnabled property to false... it just ignores that). Even their own demos show this happening.

Worse... if you want to try and adopt your own custom controls to fit the user-selected look and feel afforded by Managed colors, you are out of luck too. The Office2007Colors has a GetColorTable(), but requires you specify a theme. So if they customized it with ApplyManagedColors() you cannot get *those* colors, only one of the set three. The Office12ColorTable class, on the other hand, does provide a nice ManagedColors static property to retrieve the actual managed colors as set by ApplyManagedColors() or ApplyManagedColorScheme()... EXCEPT they marked that property as Internal! Internal! So you can't access it at all!

In fact, all over the place they mark things as Internal. And it just makes using Syncfusion way harder than it has to be. That has nothing to do with color schemes, except that this is just a good example of that terrible, terrible practice. You end up having to copy-n-paste code out of Syncfusion code all over the place to do things that are already present (but marked as internal). Like if you want to add support for color schemes to your controls... a logical thing to do if you are supporting themes... you probably want the ColorSchemeTypeConverter for your properties. Except, of course it's also marked as internal so you have to copy and paste it too.

It's a bloody mess. And I'm getting awfully tired of submitting Direct-Trac after Direct-Trac. Does anyone over there have a plan on how schemes and colors should work? It needs to be applied consistently and logically across all controls and it needs to be exposed so you can sue them in your own controls. Seems obvious, but somehow that has gotten lost in what is actually being released.

I apologize for the venting. Two weeks of beating my head against this was my limit.

-- David




2 Replies

DA David March 29, 2008 06:48 PM UTC

I started using the themes in syncfusion lately to added a bit of pzazz to my apps - and I have to agree with David Whatley. Its a mess, its confusing and certainly is not intuitive or easy.

Please create a consistent way to apply and change themese across controls, this is very important yet it seems its being ignored.



67 67890Nagarajan[Syncfsuion] April 3, 2008 10:01 PM UTC

Hi David ,

Feature Id : Add support to ApplyManagedColors for the controls like Office2007 form.

I regret to let you know that currently we do not provide support for this feature in our code library. We have notified our development team on this regard and will get back to you once we hear back from them.

Regards,
Nagaraj



Loader.
Live Chat Icon For mobile
Up arrow icon