Я пытаюсь повторить столь модный "рефлекторный" эффект на контрольной панели для кнопок, которые я создаю.
Основная идея - создать прямоугольник с градиентной заливкой от белого до прозрачного, а затем обрезать часть этого полупрозрачного прямоугольника с помощью прямоугольной геометрии.
Проблема в том, что я не знаю, как определить относительную геометрию прямоугольника. Я работал с шириной, определяя большое значение (1000), но высота - проблема. Например, он хорошо работает для кнопок, которые имеют высоту 200, но ничего не делает для кнопок меньшего размера.
Есть идеи?
<Rectangle RadiusX="5" RadiusY="5" StrokeThickness="1" Stroke="Transparent">
<Rectangle.Fill>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,0.55">
<GradientStop Color="#66ffffff" Offset="0.0" />
<GradientStop Color="Transparent" Offset="1.0" />
</LinearGradientBrush>
</Rectangle.Fill>
<Rectangle.Clip>
<RectangleGeometry Rect="0,0,1000,60" />
</Rectangle.Clip>
</Rectangle>