Можно ли добавить более одного эффекта к метке в Blend?

Я хотел бы иметь ярлык с эффектом размытия и эффектом тени.

2 ответа

Решение

Если вы используете более старый BitmapEffect, то вы можете использовать BitmapEffectGroup:

<Label Content="Hello">
    <Label.BitmapEffect>
        <BitmapEffectGroup>
            <DropShadowBitmapEffect />
            <BlurBitmapEffect />
        </BitmapEffectGroup>
    </Label.BitmapEffect>
</Label>

Однако BitmapEffect является устаревшим, и UIElement.Effect является предпочтительным методом добавления эффектов. Чтобы объединить несколько вариантов поведения в эффект этого типа, вам нужно создать собственный эффект, который будет выполнять то, что вы хотите. Как показано здесь, это потребует не только редактирования элементов с помощью blend.

Кроме того, посмотрите здесь: Библиотека эффектов пиксельных шейдеров WPF У них есть несколько отличных примеров и готовых эффектов, а также хорошее руководство по созданию своих собственных.

Это что-то вроде хака, но вы можете просто обернуть метку в сетку или рамку и применить к ней эффект размытия, одновременно применяя прямую тень к метке.

Другие вопросы по тегам