有没有一种方法可以根据内容调整边框大小?(Winnrt Xaml)

10

我在一个文本块周围加上边框,以创建一个具有圆角的漂亮背景。但无论我做什么,边框的宽度总是父元素的大小。我希望将其限制为其内容的大小。 我尝试将宽度绑定到其内容的实际宽度,但无论使用哪种绑定模式都没有起作用。

<Border x:Name="TagPreviewBorder" CornerRadius="5"
        Width="{Binding ElementName=TagPreviewTextBlock, Path=ActualWidth, Mode=TwoWay}">
   <TextBlock x:Name="TagPreviewTextBlock"/>
</Border>
1个回答

17
一个简单的解决方法是忘记在 xaml 中使用 Border,而是像这样使用 TextBox 代替 TextBlock:
<TextBox Text="Your Text Here" 
         IsReadOnly="True" Background="Transparent" BorderBrush="Red" 
         BorderThickness="3" HorizontalAlignment="Left"/>

更新: 我再次检查发现您忘记设置边框(Border)的水平对齐方式

这也可以:

    <Border CornerRadius="5" HorizontalAlignment="Left" BorderThickness="10">
        <TextBlock Text="My Text Here"></TextBlock>
    </Border>

4
噫,我没意识到默认的horizontalAlignment是拉伸。非常感谢您的帮助! - Smeegs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接