我需要一个很好的解决方案来在网格中制作一个 TextBox 以扩展到其可用空间,但不会根据其中文本的长度进行扩展。
我发现的大多数解决方案是制作一个虚拟边框并绑定到它的 ActualWidth ,但它对我来说是一个 hacky 解决方案。边框解决方案也需要在边框上设置一个小边距,这一点都不好。将其设置为低会导致 UI 表现得非常奇怪。不喜欢这个解决方案。一定有更好的吗?我想要的只是文本框不随内容扩展。它不应该那么难。请让我知道如何做到这一点。
编辑:
我注意到的一件奇怪的事情是,以下代码使边框比它必须要大得多:
<Grid>
<Border Name="dummy1" Background="Red" />
<TextBox Text="23242342343555554234234444444444423423423432344444444" Width="{Binding ActualWidth, ElementName=dummy1}" />
</Grid>
替换边框和文本框顺序使边框很好地适合文本框,但我需要的是相反的。如前所述,将 Margin(在边框上)设置为至少 0.5 可以使其工作,但结果是 UI 有点抽搐。