2012-01-13 4 views
1

настоящее время я ищу, чтобы достичь эффект градиента немного напоминает прямоугольник в http://pjnicholson.com/Fireworks/fillgradients.htmпрямоугольной формы Gradient Fill

rectangle fill

Если я скомпрометировать немного я могу получить близко к этому, используя RadialGradientBrush ... но есть ли (не слишком болезненный) способ добиться прямоугольного эффекта?

+0

Градиенты плохо выглядят на WP7 по умолчанию (я думаю, что есть исправление путем переопределения «banding»), но если вы можете, вы должны, вероятно, просто использовать изображение. –

+0

@willmel - похоже, вам нужно включить 32-битный цвет в Mango - bitsperpixel = 32 - http://j2i.net/blogEngine/post/2011/11/04/Enable-32-bit-Color-if-Your-Application-Supports-It.aspx – Stuart

ответ

2

Используйте ImageBrush и используйте это изображение (или подобное изображение с помощью какого-либо редактора изображений) на фоне вашего прямоугольника.

+0

Согласовано - это не звучит слишком элегантный, но Silverlight не поддерживает этот стиль градиента. – ColinE

2

Одним из решений, с которым я пришел с коллегой, было создание новой панели, которая использовала WriteableBitmap в качестве источника для своего фона.

Панель даст вам размеры, необходимые для создания WriteableBitmap. Используя любой алгоритм, который вы хотите, вы можете заполнить его соответствующим образом. В нашем случае нам нужен радиальный или конусообразный градиент, но применяется то же самое.

Кроме того, вы можете создать несколько свойств нового элемента управления, чтобы указать цвета для градиента. Мы адаптировали LinearGradientBrush для наших нужд, но если вы работаете только с двумя цветами, простых свойств может быть достаточно.

У меня нет кода, который удобен, но попытается его найти и опубликовать позже. Но выше вы должны идти.

Смежные вопросы