有没有办法确定边框的大小?(Winnrt Xaml)

Sme*_*egs 7 .net c# wpf xaml windows-runtime

我在文本块周围有一个边框,以创建一个圆角的漂亮背景.但无论我做什么,边框宽度始终是其父级的大小.我想将其限制为其内容的大小.我尝试将宽度绑定到它的内容的实际宽度,但是这对任何绑定模式都不起作用.

<Border x:Name="TagPreviewBorder" CornerRadius="5"
        Width="{Binding ElementName=TagPreviewTextBlock, Path=ActualWidth, Mode=TwoWay}">
   <TextBlock x:Name="TagPreviewTextBlock"/>
</Border>
Run Code Online (Sandbox Code Playgroud)

ilt*_*rtz 13

一个简单的workarround将忘记Border你的xaml并使用一个TextBox而不是TextBlock这样:

<TextBox Text="Your Text Here" 
         IsReadOnly="True" Background="Transparent" BorderBrush="Red" 
         BorderThickness="3" HorizontalAlignment="Left"/>
Run Code Online (Sandbox Code Playgroud)

更新: 我再次检查,似乎你忘了设置Border'的Horizo​​ntalAlignment

这也有效:

    <Border CornerRadius="5" HorizontalAlignment="Left" BorderThickness="10">
        <TextBlock Text="My Text Here"></TextBlock>
    </Border>
Run Code Online (Sandbox Code Playgroud)

  • gh,我没有意识到默认情况下将horizo​​ntalAlignment设置为拉伸。非常感谢您的帮助! (2认同)