Как дать понять BlurEffect не размывать при 0

168
29 октября 2021, 12:40

Доброго времени суток

Есть BlurEffect в Grid

<Grid.Effect>
    <BlurEffect Radius="{Binding GridBlurRadius}" KernelType="Gaussian"/>
</Grid.Effect>

В GridBlurRadius передаю значения. Но при 0 значение размытие все равно имеется, но хотелось бы каким-либо способом убирать blur когда он не нужен.

Есть ли какие-либо способы это сделать?

Answer 1

Отключите эффект триггером, если в свойстве лежит 0:

<Grid.Style>
    <Style TargetType="Grid">
        <Setter Property="Effect">
            <Setter.Value>
                <BlurEffect Radius="{Binding Radius}" KernelType="Gaussian"/>
            </Setter.Value>
        </Setter>
        <Style.Triggers>
            <DataTrigger Binding="{Binding Radius}" Value="0">
                <Setter Property="Effect" Value="{x:Null}"/>
            </DataTrigger>
        </Style.Triggers>
    </Style>
</Grid.Style>

Обратите внимание, установку эффекта при этом надо обязательно перенести в стиль, иначе триггер будет иметь более низкий приоритет.

READ ALSO
Как добавить описание метода, доступное к просмотру через IntelliSense?

Как добавить описание метода, доступное к просмотру через IntelliSense?

Как можно написать свой метод и добавить описание? Использовали эту функцию IntelliSense, которая показывает описание методов?

194
MS SQL Округление к ближайшему чётному

MS SQL Округление к ближайшему чётному

Есть у меня логика в приложении на c#, которую я был вынужден начать дублировать на slq server в представлениях и хранимках и столкнулся с тем, что...

107
Отслеживание состояния переменной

Отслеживание состояния переменной

Нужно отслеживать состояние переменнойПытался сделать такой код:

161
Создание маски и ограничение ввода символов в TextBox?

Создание маски и ограничение ввода символов в TextBox?

Возникла необходимость создать ограничение для ввода данных в textBox

129