¿Cómo leer el color de un desplazamiento de un XAML LinearGradientBrush?

Dado unLinearGradientBrush Se define como sigue:

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

¿Qué se requiere para tomar esa definición y determinar el color representado por un desplazamiento específico, como 0.13 o 0.82 sin mostrar nada visible?

Esto tomaría la forma de una función con un prototipo algo como esto:

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

¿Qué necesitaría ir en el cuerpo de la función? No estoy buscando un código terminado (¡aunque no lo rechazaré!), Solo algunas ideas sobre las estructuras de datos y las llamadas al sistema que se deben utilizar.

Respuestas a la pregunta(1)

Su respuesta a la pregunta