如何创建一个简单的布局,如具有背景和不透明度的 TextBlock?

How to create a simple layout like a TextBlock with background and opacity?

如图所示,文字长度可能会根据服务器返回的数据而变化。所以灰色背景可以随着文本长度而延伸。

另一方面,背景不透明。 如果我使用:

<Border Background="Gray" Opacity="0.6">
    <TextBlock Text="{x:Bind name}"/>
</Border>

这个结果 TextBlock 也有一个不透明度。

如果我使用

<Border Background="Gray" Opacity="0.6"/>
<TextBlock Text="{x:Bind name}"/>

这个结果如果文本长度很长,背景边框不会调整它的长度。

这将在 GridView 模板中使用,因此请尽可能保持干净。

有人有想法吗?谢谢

您可以创建具有透明度的颜色资源:

<SolidColorBrush Color="Gray" Opacity="0.6" x:Key="GrayOpacityColor"/>

用法

<Border Background="{StaticResource GrayOpacityColor}">
    <TextBlock Text="{x:Bind name}"/>
</Border>

此致。