Silverlight - заполнение прямоугольника (или других элементов управления, имеющих свойство Brush) с помощью пользовательского элемента управления UserControl - PullRequest
1 голос
/ 16 марта 2011

Мне нужно заполнить прямоугольник с помощью пользовательского элемента управления. Свойство .Fill прямоугольника принимает Brush, а в Silverlight нет эквивалента для VisualBrush.

Я нашел этот пост - http://chriscavanagh.wordpress.com/2009/09/24/silverlight-visualbrush-and-rounded-corners/ - с возможным решением. Однако этот подход требует, чтобы UserControl (который будет использоваться для заполнения прямоугольника) сначала отображался за пределами прямоугольника, чтобы VisualImage мог преобразовать его в WritableBitmapImage.

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

Спасибо и всего наилучшего, Bruno

1 Ответ

0 голосов
/ 16 марта 2011

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

Я так понимаю, у вас уже есть причина не просто использовать Border, содержащий UserControl напрямую?Если вы не хотите, чтобы пользовательский контроль реагировал на мышь, вы можете включить в Border a Grid, содержащий как UserControl, так и Rectangle с прозрачной заливкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...