I am trying to create a text box in Wpf that has a shortcut in the upper left corner, and additionally this label should have a border with a slope on one side.
http://imgur.com/Nupbf 
Now for one or two specific cases that are doable with a workaround, when I just used the lines for the border. Now that I want to use it a little more, I need to do it correctly, especially in the sense that it is scalable.
I would be very happy if someone could point me in the right direction.
Edit: Thus, the code that I use after accounting for the answers so far that I created as a user control is:
<Grid Height="93" Width="335"> <TextBox TextWrapping="Wrap" Text="{Binding TextboxText}" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" BorderBrush="{x:Null}" Background="{x:Null}"/> <Path Data="M384,242 L442.5,242" HorizontalAlignment="Left" Height="1" Margin="0,28.667,0,0" Stretch="Fill" VerticalAlignment="Top" Width="59.5"> <Path.Fill> <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="#8EFFFFFF"/> <GradientStop Color="White" Offset="0.991"/> </LinearGradientBrush> </Path.Fill> <Path.Stroke> <LinearGradientBrush EndPoint="0.5,1" MappingMode="RelativeToBoundingBox" StartPoint="0.5,0"> <LinearGradientBrush.RelativeTransform> <TransformGroup> <ScaleTransform CenterY="0.5" CenterX="0.5"/> <SkewTransform CenterY="0.5" CenterX="0.5"/> <RotateTransform Angle="90" CenterY="0.5" CenterX="0.5"/> <TranslateTransform/> </TransformGroup> </LinearGradientBrush.RelativeTransform> <GradientStop Color="White" Offset="0.009"/> <GradientStop Color="#5FFFFFFF" Offset="1"/> </LinearGradientBrush> </Path.Stroke> </Path> <Label Content="{Binding LabelText}" HorizontalAlignment="Left" Width="113" FontSize="16" Height="40" VerticalAlignment="Top" BorderBrush="White" Margin="0,0.167,0,0"/> <Path Data="M125.12574,28.672087 L145.37561,-1.1668457" HorizontalAlignment="Left" Height="30.839" Margin="58.125,-1,0,0" Stretch="Fill" VerticalAlignment="Top" Width="21.25"> <Path.Stroke> <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="#51FFFFFF" Offset="0"/> <GradientStop Color="White" Offset="1"/> </LinearGradientBrush> </Path.Stroke> <Path.Fill> <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="#49FFFFFF" Offset="0"/> <GradientStop Color="White" Offset="1"/> </LinearGradientBrush> </Path.Fill> </Path> <Path Data="M0,83 L181.35815,83" Fill="#FFF4F4F5" Height="1" Stretch="Fill" VerticalAlignment="Bottom" Width="327" StrokeThickness="2" Margin="0,0,10,10"> <Path.Stroke> <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="Black" Offset="0"/> <GradientStop Color="White" Offset="1"/> </LinearGradientBrush> </Path.Stroke> </Path> </Grid>
This works, and the only thing that bothers me is the variability of the label border, which is very unpleasant to do, but, fortunately, it is not necessary in my case.