在 UWP 中为 TextBlock 提供边框

Provide Border to TextBlock in UWP

如何在不使用任何额外框架元素包裹的情况下向 TextBlock 添加边框? 我尝试过的一种方法是用 Border 包装 TextBlock,但我不想添加额外的 UI 元素,例如边框。

好的,首先,深度嵌套的元素是无法避免的,除非你有特定的问题。但是,执行此操作的最有效方法是将透明矩形覆盖到 Grid 内的 TextBlock 上,如下所示:

<Grid HorizontalAlignment="Left" VerticalAlignment="Top">
    <TextBlock Text="This is a textblock" 
               Margin="3" 
               HorizontalAlignment="Left" 
               VerticalAlignment="Top" />
    <Rectangle Stroke="Black" 
               StrokeThickness="1" 
               Fill="Transparent" 
               HorizontalAlignment="Stretch" 
               VerticalAlignment="Stretch"/>
</Grid>