Current implementation of Theme Color is annoying.
- Setting the ThemeColor to be a static class instead of an ENum is bizarre. It makes it really annoying to pass a typed themeColor into an input parameter. I can understand the want to be more flexible and the inputs to your controls being a string
- You are re-using the ThemeColor in several different places where it is simply repeated. This makes things really annoying.
I recommend:
- Keeping the inputs to your controls for theme colors to be a string, so you can maintain the flexiblity (reason I assume you changed this in the first place)
- Use a single enum and in the documentation / examples say by default use "nameof(ThemeColor.Primary) for default themes" You can add your own custom theme by .... and pass in a string.