В WPF вы можете использовать Visual Brush.
Добавить ресурс кисти в окно или ресурсы управления:
<Window.Resources>
<VisualBrush x:Key="stackPanel">
<VisualBrush.Visual>
<StackPanel Orientation="Horizontal">
<TextBlock VerticalAlignment="Bottom">
SomeTextContent
</TextBlock>
<Line VerticalAlignment="Bottom" X2="100" Stroke="black"/>
</StackPanel>
</VisualBrush.Visual>
</VisualBrush>
</Window.Resources>
Затем примените эту кисть к маске непрозрачности прямоугольника, например:
<Rectangle OpacityMask="{DynamicResource stackPanel}">
<Rectangle.Fill>
<LinearGradientBrush EndPoint="1.0,0.5" StartPoint="0,0.5">
<GradientStop Color="Blue" Offset="0"/>
<GradientStop Color="Orange" Offset="1"/>
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
Вы также можете превратить текст в путь, но потеряете возможность изменить текст, чем.