我正在创建一个聊天应用程序,并希望创建包含每条消息的典型对话气泡。我在 Blend(在 XAML 中)中创建了一个 Path 对象,如下所示:
问题是路径被设计为具有指定的宽度和高度,我希望它环绕文本而不拉伸(stretch),所以它看起来不会像边框一样变形
我怎样才能让它表现得像我想要的那样?
最佳答案
您可以将 Polygon
与 StackPanel
结合使用:
<StackPanel Orientation="Horizontal"
HorizontalAlignment="Left"
Padding="6"
>
<Polygon Points="0,0 15,0 15,15"
Fill="LightGray"
Margin="0,10,0,0"
/>
<Border Background="LightGray"
CornerRadius="3"
Padding="6"
VerticalAlignment="Top"
>
<TextBlock Text="Text"
TextWrapping="WrapWholeWords"
Width="100"
Height="50"
/>
</Border>
</StackPanel>
看起来像这样:
编辑:
带边框的版本:
<Grid HorizontalAlignment="Left"
Padding="6"
>
<Polygon Points="0,0 15,0 15,15"
Fill="LightGray"
Stroke="Black"
Margin="0,10,0,0"
/>
<Border Background="LightGray"
BorderBrush="Black"
BorderThickness="0.5"
CornerRadius="3"
Padding="6"
Margin="14,0,0,0"
VerticalAlignment="Top"
>
<TextBlock Text="Text"
TextWrapping="WrapWholeWords"
Width="100"
Height="50"
/>
</Border>
<Polygon Points="0,0 15,0 15,15"
Fill="LightGray"
Margin="0,10,0,0"
/>
</Grid>
这可能不是最简单和最好的方法,也许 Path
会更好,但它有效:
关于c# - 如何在 UWP 中创建对话气泡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43761186/