Tôi đang cố gắng tạo một Textbox trong Wpf có một Label ở góc trên bên trái của nó và addiotionally nhãn này sẽ có một biên giới với một dốc ở một bên.Làm thế nào để tạo ra một Textbox và Label với biên giới dốc?
Bây giờ cho một hoặc hai trường hợp cụ thể đó là doable với một workaround nơi mà tôi chỉ sử dụng dòng cho biên giới. Bây giờ tôi muốn sử dụng nó nhiều hơn một chút tôi cần phải làm điều đó đúng cách, đặc biệt là trong một cách mà nó có thể mở rộng.
Tôi sẽ thực sự hạnh phúc nếu ai đó có thể chỉ cho tôi đúng hướng.
Edit: Vì vậy, mã Tôi đang sử dụng sau khi có tính đến các câu trả lời cho đến nay, mà tôi tạo ra như một điều khiển người dùng:
<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>
Nó hoạt động và điều duy nhất mà vẫn còn làm phiền tôi là resizability của biên giới nhãn, mà là khá khó chịu để làm nhưng may mắn không cần thiết trong trường hợp của tôi.
Những gì bạn đã thử cho đến nay? Đăng phần mã tại đây. –
Nhãn có phải là chú thích của TextBox không? Là dòng dưới cùng biên giới duy nhất của toàn bộ điều? –