WPF DropShadowEffect вызывает размытость
Я заметил, что применение DropShadowEffect к UIElement спорадически приводит к тому, что содержимое UIElement немного размывается. Это довольно неприятный эффект: он может заставить фотографию выглядеть не в фокусе или хуже - сделать весь "всплывающий" регион совершенно неразборчивым.
польза образца (размывает содержание на random):
<Border>
<Border.Effect>
<DropShadowEffect />
</Border.Effect>
<!-- (Content) -->
</Border>
но удаление DropShadowEffect очищает его:
<Border>
<!--<Border.Effect>
<DropShadowEffect />
</Border.Effect>-->
<!-- (Content) -->
</Border>
какие идеи?
EDIT (добавлен скриншот):
3 ответов
то, что я делаю для такого рода сценариев, ставит прямоугольник фона и применяет эффект размытия только для этого, так что реальный контент будет свободен от эффекта, что, в свою очередь, увеличивает производительность. Потому что, когда вы применяете эффект к визуальному, все последующие дети также получают эффект, который делает perf и выглядит плохо. Попробуйте ниже
<Grid>
<Rectangle ....>
<Rectangle.Effect>
<DropShadowEffect />
</Rectangle.Effect>
</Rectangle>
....Your content ...
</Grid>
существует RendingQuality вы можете использовать для устранения этой проблемы. По умолчанию используется смещение производительности. Просто сделайте так:
<DropShadowEffect Color="#FFFD1E1E" ShadowDepth="0" RenderingBias="Quality"/>
Я не уверен, но
попробуйте установить BlurRadious
на Image.Effects
до 0 по умолчанию это 5 и посмотреть, поможет ли это?
<Image.Effect>
<DropShadowEffect BlurRadius="0"/>
</Image.Effect>