RectangleGeometry com dimensões relativas ... como?

Atualmente, estou tentando replicar o efeito "reflexo" tão moderno em um modelo de controle para os botões que estou criando.

A idéia básica é criar um retângulo com um preenchimento de gradiente de branco a transparente e, em seguida, recortar parte desse retângulo semitransparente com uma retanglegometria.

O problema é que não sei definir uma geometria relativa do retângulo. Eu meio que trabalhei em largura, definindo um valor grande (1000), mas a altura é um problema. Por exemplo, ele funciona bem para botões com altura 200, mas não faz nada para botões menores.

Alguma ideia?

            <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>

questionAnswers(1)

yourAnswerToTheQuestion