Como ler a cor de um deslocamento de um LinearGradientBrush XAML?

Dado umLinearGradientBrush definido da seguinte forma:

        <LinearGradientBrush x:Key="RedYellowGradient">
            <GradientStop Color="Blue" Offset="0.01" />
            <GradientStop Color="Purple" Offset="0.25"/>
            <GradientStop Color="Red" Offset="0.5"/>
            <GradientStop Color="Orange" Offset="0.75"/>
            <GradientStop Color="Yellow" Offset="1.0"/>
        </LinearGradientBrush>

O que é necessário para obter essa definição e determinar a cor representada por um deslocamento específico, como 0,13 ou 0,82 sem exibir nada visível?

Isso tomaria a forma de uma função com um protótipo assim:

Function GetColorFromBrushOffset(br as LinearGradientBrush, offset as Single) as SomeColorDataStructure

O que precisaria ir no corpo da função? Eu não estou procurando por código acabado (embora eu não vou recusar!) Apenas algumas idéias sobre quais estruturas de dados e chamadas do sistema para usar.

questionAnswers(1)

yourAnswerToTheQuestion