Класс не найден при использовании XamlCompositionBrushBase

Поэтому я попытался использовать BackdropBrush с XamlCompositionBrushBase, создав класс BackdropBlurBrush, но когда я вызываю его из XAML Это не находит класс. Я создал класс по основному проекту. Смотрите ошибку здесь.

Пример на GitHub: https://github.com/vitorgrs/HostBackdrop/

1 ответ

Решение

Ваша нестандартная композиция не является UIElement и именно поэтому он не может быть непосредственно помещен в визуальное дерево XAML.

Попробуйте добавить его в качестве кисти для элемента -

<Grid>
    <Grid.Background>
        <local:BackdropBlurBrush BlurAmount="5" />
    </Grid.Background>
</Grid>

Обычно вы хотите поместить кисть размытия поверх фонового изображения, как это -

<Grid x:Name="Root">
    <Grid.Background>
        <ImageBrush Stretch="UniformToFill" ImageSource="background.jpg"/>
    </Grid.Background>

    <Rectangle>
        <Rectangle.Fill>
            <local:BackdropBlurBrush BlurAmount="5" />
        </Rectangle.Fill>
    </Rectangle>
</Grid>

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