Я пытаюсь воспроизвести сегодняшний модный эффект "рефлекса" на панели управления для кнопок, которые я создаю.
Основная идея состоит в том, чтобы создать прямоугольник с градиентом заливки от белого до прозрачного, а затем закрепить часть этого полупрозрачного прямоугольника с прямоугольной меткой.
Проблема в том, что я не знаю, как определить относительную геометрию прямоугольника. Я вроде как работал вокруг ширины, определяя большое значение (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>