gpt4 book ai didi

WPF:按可用宽度而不是按其内容扩展 TextBox?

转载 作者:行者123 更新时间:2023-12-04 01:08:45 25 4
gpt4 key购买 nike

我需要一个很好的解决方案来使网格中的 TextBox 扩展到其可用空间,但不会根据其中文本的长度进行扩展。

我发现的大多数解决方案是制作一个虚拟边框并绑定(bind)到它的 ActualWidth ,但它对我来说是一个 hacky 解决方案。边框解决方案也需要在边框上设置一个小边距,这一点都不好。将其设置为低会导致 UI 表现得非常奇怪。不喜欢这个解决方案。一定有更好的吗?我想要的只是文本框不随内容扩展。它不应该那么难。请让我知道如何做到这一点。

编辑:

我注意到的一件奇怪的事情是,以下代码使边框比它必须要大得多:

<Grid>
<Border Name="dummy1" Background="Red" />
<TextBox Text="23242342343555554234234444444444423423423432344444444" Width="{Binding ActualWidth, ElementName=dummy1}" />
</Grid>

替换边框和文本框顺序使边框很好地适合文本框,但我需要的是相反的。如前所述,将 Margin(在边框上)设置为至少 0.5 可以使其工作,但结果是 UI 有点抽搐。

最佳答案

我使用 DockPanel 来扩展它的可用空间。您也必须设置 margin :

<DockPanel>
<TextBox Width="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=DockPanel}, Path=ActualWidth}" Margin="1" />
</DockPanel>

关于WPF:按可用宽度而不是按其内容扩展 TextBox?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4365302/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com