UserControl Shadow - PullRequest
       2

UserControl Shadow

0 голосов
/ 12 апреля 2010

У меня есть пользовательский элемент управления, MBControl. Вот код:

<my:MBControl Name="MBControl" HorizontalAlignment="Center" VerticalAlignment="Center">
              <my:MBControl.BitmapEffect>
                <DropShadowBitmapEffect Color="Black" Direction="315"
                      Softness="0.5" ShadowDepth="10" Opacity="1" />
              </my:MBControl.BitmapEffect>
</my:MBControl>

Проблема с кодом заключается в том, что тень применяется к каждому дочернему элементу моего пользовательского элемента управления. Или, возможно, он падает как внутри, так и снаружи - поверхность управления темнее, чем без тени.

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

ОБНОВЛЕНИЕ: Я понял! Этот эффект является результатом прозрачности пользовательского элемента управления. Тень имеет форму прямоугольника (как форма моего пользовательского элемента управления). Что я действительно хочу, так это тень с вычтенной центральной областью. Эта область должна пересекать ее текущую форму и форму пользовательского элемента управления.

1 Ответ

1 голос
/ 14 апреля 2010

Достаточно установить непрозрачный цвет фона:

<my:MBControl ... Background="White">
    ...
</my:MBControl>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...