WPF works with the namespace, which includes a Color object built around the familiar RGB color model. However, I have included a sample IValueConverter class for each set of conversions. Instead, I focus on the conversion methods themselves. I don't cover the IValueConverter aspect of the process in this article, since there are a number of good articles on how to create an IValueConverter class. Normally, the methods shown in the attached demos would be included in an IValueConverter object that is included in the data binding of the color property. This article explains how to perform the actual color conversion. So, after a bit of research, I determined how to perform the conversion in pure-WPF. To me, mixing GDI and WPF is a code smell, which should be avoided in all but exceptional circumstances. System.Drawing is a GDI namespace, and I have a very strong preference for keeping it out of my WPF applications. I recently needed to perform this chore, and I was surprised to find very little on how to do the conversion without resorting to using the System.Drawing namespace. For example, we might calculate the border color as 85% of the background color. In cases where the color value is bound to another property, one would typically calculate the darker shade as a mathematical percentage of the base color. For example, we may want a button border to be a darker shade of the button background. WPF sometimes requires us to convert one shade of a color to another.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |