RectangleGeometry с относительными размерами ... как?

Я пытаюсь повторить столь модный в настоящее время эффект «рефлекса» на шаблоне кнопок, которые я создаю.

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

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

Ответы на вопрос(1)

Ваш ответ на вопрос