WPF - Как добавить эффекты (например, Shadow) к метке - PullRequest
6 голосов
/ 23 сентября 2010

У меня есть ярлык, и я хочу добавить к нему тень.

Похоже, я не могу применить к нему DropShadowBitmapEffect.

Что еще я могу сделать?

Ответы [ 3 ]

6 голосов
/ 23 сентября 2010

Вы можете сделать это, например:

<Label Content="LabelText:" >
       <Label.BitmapEffect>
             <DropShadowBitmapEffect Color="Black" Direction="320" ShadowDepth="10" Opacity=".5" Softness="9" />
        </Label.BitmapEffect>
</Label>
5 голосов
/ 23 сентября 2010

Растровые эффекты устарели, начиная с .NET 3.5 (SP1?). Вместо этого используйте DropShadowEffect .

РЕДАКТИРОВАТЬ: Поскольку эффекты на некоторое время устарели, в .NET 4.0 они представляют собой пустой блок кода, т.е.

4 голосов
/ 23 сентября 2010

Используйте DropShadowEffect вместо DropShadowBitmapEffect. Растровые эффекты устарели. Но будьте осторожны с эффектами. Используйте WPF performance Suite , чтобы проверить поведение используемых эффектов на производительность - я уже видел очень плохое влияние на производительность при использовании классов эффектов. См. здесь для примера.

Другим вариантом было бы украсить этикетку Border. Если вы установите толщину соответственно, это будет тень:

<Border BorderThickness="1,1,20,20" BorderBrush="Black">
      <Label />
</Border>

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

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