【问题标题】:Provide Border to TextBlock in UWP在 UWP 中为 TextBlock 提供边框
【发布时间】:2019-02-24 18:30:25
【问题描述】:

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

【问题讨论】:

  • 如果您不想为其添加额外的 ui 元素,则需要自定义其模板样式,这对于初学者来说可能会很复杂,即使在这种情况下,您也会为其模板添加边框,所以没有其他方法可以显示带边框的边框
  • 编辑TextBlock模板非常复杂,所以只需在Border控件内制作TextBlock即可。就是这样

标签: uwp border textblock


【解决方案1】:

好的,首先,除非您遇到特定问题,否则不能避免深度嵌套的元素。然而,最有效的方法是在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>

【讨论】:

  • 实际上我需要在列表视图中使用这个TextBlock,并且在渲染列表时使用嵌套元素会有一点延迟。
  • ListView在添加或删除item时有动画,会不会造成轻微的延迟?
猜你喜欢
  • 2017-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多