word-wrap 相关问题

在文本显示中,换行是当行已满时继续在新行上的特征,使得每行适合可视窗口,允许从上到下读取文本而不进行任何水平滚动。

WPF VirtualizingStackPanel 排序后文本换行问题

我是 WPF 新手,编写此程序是为了帮助组织和编目我的书籍。我使用了虚拟化包裹面板,在我对书籍进行排序之前,该面板可以完美显示。 这是视图预排序:

回答 1 投票 0

PHP 中的平衡自动换行(最小粗糙度)

我将用 PHP 制作一个自动换行算法。我想将小块文本(短语)拆分为 n 行,最多 m 个字符(未给出 n,因此将有所需的行数)。

回答 7 投票 0

TextBox 自动换行将字符串拆分为行

这是我第一次就这个令人惊叹的服务发布问题,因为今天它通过阅读它对我帮助很大。 目前,我正在制作小型 C# 应用程序,需要使用大量文本...

回答 4 投票 0

如何自动对文本进行分段以适合溢出容器?

我想将文本放入容器中,但无论我尝试什么,它似乎仍然想要添加水平滑块。 我尝试添加自动换行:break-word:、display: inline-block; 和 max-wi...

回答 1 投票 0

防止 TextBox 在 WPF 中水平扩展

我在 App.xaml 中定义了以下样式 <Setter Property="VerticalScrollBarVisibility" Value="Auto" /> ...</desc> <question vote="13"> <p>我在 App.xaml 中定义了以下样式</p> <pre><code>&lt;Style x:Key=&#34;textBoxMultiline&#34; TargetType=&#34;{x:Type TextBox}&#34; &gt; &lt;Setter Property=&#34;VerticalScrollBarVisibility&#34; Value=&#34;Auto&#34; /&gt; &lt;Setter Property=&#34;HorizontalScrollBarVisibility&#34; Value=&#34;Hidden&#34; /&gt; &lt;Setter Property=&#34;MinHeight&#34; Value=&#34;50&#34; /&gt; &lt;Setter Property=&#34;TextWrapping&#34; Value=&#34;Wrap&#34; /&gt; &lt;/Style&gt; </code></pre> <p>在整个解决方案中,我们在每个需要简短文本的文本框上使用它。</p> <pre><code>&lt;TextBox x:Name=&#34;textBoxDescription&#34; Grid.Row=&#34;2&#34; Grid.Column=&#34;1&#34; Style=&#34;{DynamicResource textBoxMultiline}&#34; /&gt; </code></pre> <p>一切都很好,但随后客户抱怨某些字段被合并在分辨率较低的旧显示器上,因此我在较高的视觉树节点之一上放置了<pre><code>ScrollViewer</code></pre>以防止合并。</p> <pre><code>&lt;ScrollViewer Height=&#34;Auto&#34; VerticalScrollBarVisibility=&#34;Auto&#34; HorizontalScrollBarVisibility=&#34;Auto&#34;&gt; ... &lt;/ScrollViewer&gt; </code></pre> <p>奇怪的是,具有上述样式的 <pre><code>TextBox</code></pre> 开始向右扩展,而不是环绕文本。</p> <p>有没有办法在不删除<pre><code>ScrollViewer</code></pre>的情况下防止这种情况? </p> </question> <answer tick="false" vote="11"> <p>如果您不想对宽度进行硬编码,那么您可以使用元素绑定父项的宽度。</p> <p>这里我将 TextBox MaxWidth 与 ScrollViewer 实际宽度绑定。您还必须确保 ColumnDefinition 宽度应设置为“*”而不是“Auto”。如果将其设置为“自动”,它将忽略 ScrollViewer 宽度并继续扩展 ScrollViewer 和 TextBox 的宽度。 <em><strong>我认为你属于这种情况</strong></em>...</p> <pre><code>&lt;Grid&gt; &lt;Grid.ColumnDefinitions&gt; &lt;ColumnDefinition Width=&#34;*&#34;&gt;&lt;/ColumnDefinition&gt; &lt;ColumnDefinition Width=&#34;*&#34;&gt;&lt;/ColumnDefinition&gt; &lt;/Grid.ColumnDefinitions&gt; &lt;ScrollViewer HorizontalScrollBarVisibility=&#34;Auto&#34; Name=&#34;scv&#34;&gt; &lt;TextBox Height=&#34;30&#34; TextWrapping=&#34;Wrap&#34; MaxWidth=&#34;{Binding ElementName=scv, Path=ActualWidth}&#34;&gt;&lt;/TextBox&gt; &lt;/ScrollViewer&gt; &lt;/Grid&gt; </code></pre> </answer> <answer tick="true" vote="9"> <p>您必须为<pre><code>MaxWidth</code></pre>定义一个<pre><code>TextBox</code></pre>,否则没有限制,因为<pre><code>ScrollViewer</code></pre>。</p> </answer> <answer tick="false" vote="6"> <p>@bathineni 提供的解决方案帮助我解决了我的问题。这对我有用:</p> <pre><code>&lt;Grid &gt; &lt;Grid.ColumnDefinitions&gt; &lt;ColumnDefinition Width=&#34;50&#34;/&gt; &lt;ColumnDefinition Width=&#34;*&#34;/&gt; &lt;/Grid.ColumnDefinitions&gt; &lt;Button Grid.Column=&#34;0&#34; Width=&#34;30&#34; Height=&#34;23&#34; Margin=&#34;10,5&#34; Content=&#34;...&#34;/&gt; &lt;ScrollViewer Grid.Column=&#34;1&#34; HorizontalScrollBarVisibility=&#34;Disabled&#34; verticalScrollBarVisibility=&#34;Disabled&#34; Name=&#34;scv&#34;&gt; &lt;TextBox Height=&#34;25&#34; Text=&#34;Insert here long text&#34; MaxWidth=&#34;{Binding ElementName=scv, Path=ActualWidth}&#34; HorizontalAlignment=&#34;Stretch&#34; /&gt; &lt;/ScrollViewer&gt; &lt;/Grid&gt; </code></pre> </answer> <answer tick="false" vote="1"> <p>第一个解决方案是使用数据绑定在 XAML 中实现的。我建议你不要单独绑定控件。 XAML 解决方案是通过将具有所需 ActualWidth 和 ActualHeight 属性的控件绑定到文本框 MaxHeight 和 MaxWidth 属性来实现的。</p> <pre><code>&lt;TextBlock x:Name=&#34;PasswordText&#34; Margin=&#34;0,0,0,20&#34; FontFamily=&#34;Bahnschrift SemiBold Condensed&#34; Text=&#34;PASSWORD&#34; FontSize=&#34;20&#34;&gt; &lt;TextBox x:Name=&#34;PasswordTextBox&#34; MaxWidth=&#34;{Binding ElementName=PasswordText, Path=ActualWidth}&#34; MaxHeight=&#34;{Binding ElementName=PasswordText, Path=ActualHeight}&#34;&gt; </code></pre> <p>下一个解决方案是通过在 XAML 中生成 Loaded 事件,在 C# 代码中创建它,然后在 Loaded 事件中将文本框的 MaxWidth 和 MaxHeight 属性设置为文本框 ActualWidth 和 ActualHeight 属性来实现。</p> <pre><code>// It doesn&#39;t have a problem like in XAML if you pass the textbox its own // ActualWidth and ActualHeight to the MaxWidth and MaxHeight proprieties. private void Log_In_Page_Loaded(object sender, RoutedEventArgs e) { UsernameTextBox.MaxHeight = UsernameTextBox.ActualHeight; UsernameTextBox.MaxWidth = UsernameTextBox.ActualWidth; } </code></pre> <p>选择更适合你设计的一个,但我认为,在我看来,这是解决这个问题最有效、最简单、最稳定、最有效的方法。</p> </answer> <answer tick="false" vote="0"> <p>对我有用。如果你想让滚动条出现在文本框中,你可以添加</p> <pre><code>HorizontalScrollBarVisibility=&#34;Auto&#34; VerticalScrollBarVisibility=&#34;Auto&#34; </code></pre> <p>到文本框 </p> </answer> <answer tick="false" vote="0"> <p>您必须设置 <pre><code>MaxWidth</code></pre><pre> 的 </pre><code>Container Control</code></p> <pre><code>&lt;Grid x:Name=&#34;RootGrid&#34; Margin=&#34;6,6,8,8&#34; Width=&#34;500&#34; MaxWidth=&#34;500&#34;&gt; &lt;ScrollViewer ScrollViewer.HorizontalScrollBarVisibility=&#34;Disabled&#34; ScrollViewer.VerticalScrollBarVisibility=&#34;Auto&#34;&gt; &lt;Grid&gt; &lt;Grid.RowDefinitions&gt; &lt;RowDefinition Height=&#34;Auto&#34;/&gt; &lt;/Grid.RowDefinitions&gt; &lt;GroupBox Name=&#34;contentGroup&#34; Header=&#34;Content&#34; Grid.Row=&#34;0&#34;&gt; &lt;TextBox Name=&#34;content&#34;/&gt; &lt;/GroupBox&gt; &lt;/Grid&gt; &lt;/ScrollViewer&gt; </code></pre> <p></p> </answer> <answer tick="false" vote="0"> <p>当我需要我的<pre><code>TextBox</code></pre>在调整大小时与其自动调整大小的<pre><code>Grid</code></pre>列一起拉伸时,我遇到了这个问题,这意味着<pre><code>MaxWidth</code></pre>不起作用,但仍然需要防止<pre><code>TextBox</code></pre>拉伸及其内容。</p> <p>我最终所做的是将这个事件处理程序链接到<pre><code>SizeChanged</code></pre>:</p> <pre><code>private void TextBox_SizeChanged(object sender, SizeChangedEventArgs e) { TextBox textBox = (TextBox)sender; if (textBox.CanUndo &amp;&amp; e.NewSize.Width &gt; e.PreviousSize.Width) { textBox.Width = e.PreviousSize.Width; } } </code></pre> <p>将文本写入文本框是用户可以撤消的操作,而其他可能导致调整大小的操作(元素的初始绘制、父容器的拉伸等)则无法从文本框中撤消。因此,通过检查 <pre><code>CanUndo</code></pre>,我们可以确定 <pre><code>SizeChanged</code></pre> 是否是由写入文本或其他内容触发的。</p> <p><pre><code>e.NewSize.Width &gt; e.PreviousSize.Width</code></pre> 检查是必要的,因为没有它,<pre><code>SizeChanged</code></pre> 事件将从自身内部无限地调用,因为要恢复拉伸,我们需要 <em>将大小</em> 更改回原始值,这本身就会触发事件。</p> <p>这有点棘手,但我还没有遇到任何问题。</p> </answer> <answer tick="false" vote="0"> <p>我不知道为什么,但我无法让 ScrollViewer 解决方案工作。我需要一个具有固定初始宽度的 TextBox 来实现数字向上/向下控件 - 在此控件中,TextBox 独立于输入而缩小和增长,如果 UI 在您键入时发生变化,这看起来非常烦人。</p> <p>所以,我发现以下使用 2 个文本框的解决方案适合我。第一个文本框是为用户键入输入而显示的文本框,第二个文本框通过依赖属性 (DisplayLength) 和下面进一步显示的转换器进行初始化。</p> <p>将第一个文本框的 MaxWidth 属性绑定到第二个文本框的 Width 属性可以固定大小,以便用户可以键入他们想要的内容,但即使有更多可用的 UI 空间,文本框的显示宽度也不会改变。</p> <pre><code>&lt;TextBox x:Name=&#34;PART_TextBox&#34; Text=&#34;{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Value}&#34; Margin=&#34;0,0,1,0&#34; TextAlignment=&#34;Right&#34; AcceptsReturn=&#34;False&#34; SpellCheck.IsEnabled=&#34;False&#34; HorizontalContentAlignment=&#34;Stretch&#34; VerticalContentAlignment=&#34;Center&#34; HorizontalAlignment=&#34;Stretch&#34; VerticalAlignment=&#34;Stretch&#34; MaxWidth=&#34;{Binding ElementName=TBMeasure, Path=ActualWidth}&#34; /&gt; &lt;!-- Hidden measuring textbox ensures reservation of enough UI space according to DisplayLength dependency property --&gt; &lt;TextBox x:Name=&#34;TBMeasure&#34; Text=&#34;{Binding RelativeSource={RelativeSource TemplatedParent}, Path=DisplayLength, Converter={StaticResource ByteToPlaceHolderStringConverter}}&#34; Margin=&#34;0,0,1,0&#34; TextAlignment=&#34;Right&#34; AcceptsReturn=&#34;False&#34; SpellCheck.IsEnabled=&#34;False&#34; HorizontalContentAlignment=&#34;Right&#34; VerticalContentAlignment=&#34;Center&#34; HorizontalAlignment=&#34;Stretch&#34; VerticalAlignment=&#34;Stretch&#34; Visibility=&#34;Hidden&#34;/&gt; // Converter [ValueConversion(typeof(byte), typeof(string))] public sealed class ByteToPlaceHolderStringConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if ((value is byte) == false) return Binding.DoNothing; byte byteVal = (byte)value; string retString = string.Empty; for (int i = 0; i &lt; byteVal; i++) retString = retString + &#34;X&#34;; return retString; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { return Binding.DoNothing; } } </code></pre> </answer> </body></html>

回答 0 投票 0

CSS 自动换行/下划线换行以及空格和连字符

我有一堆非常长的文件名,导致我的 HTML 格式溢出。 所有这些文件名都使用下划线而不是空格,如果它们是空格,则很容易断开/换行。 就像...

回答 6 投票 0

在非矩形形状周围环绕文本 css/html

我在一个网站上读到,有一种方法可以将文本环绕在非矩形形状周围,但不知何故我不知道该怎么做, 现在我从大约 3 年前发布的一个问题中找到了这个链接,那...

回答 2 投票 0

在 html div 中用逗号而不是空格将单词括起来

我需要使用逗号(,)换行。有没有办法使用 CSS 或其他方法来做到这一点。 普通 A1、高 A2(4)、低 A3 如果空间不够,应该这样换行,逗号 sh...

回答 4 投票 0

如何在 Github 和 Gitlab 问题中的 markdown ``` 代码 ``` 中换行?

例如: ```` 一些很长的线;一些很长的线;一些很长的线;一些很长的线;一些很长的线;一些很长的线;一些很长的线;一些很长的线;一些很长的线; ...

回答 8 投票 0

当文本被最大宽度强制换行时,如何让跨度紧密包裹文本?

是否可以在最大宽度处进行一些文本换行,然后使生成的文本元素在宽度方向上尽可能小? 目前,当我的文本长度超过最大宽度时,它会换行并且

回答 2 投票 0

如何在 SwiftUI 中创建一个根据 swiftui 中文本行数扩展宽度的矩形(类似于 uikit 中的 Wrap Content)

在一个 SwiftUI 项目中工作,我需要一个蓝色矩形来根据它包含的文本行数调整其宽度,特别是不是动态的,而是基于固定的行数(...

回答 1 投票 0

有没有办法让热文本(链接)换行(需要时在链接内)?

我正在实现类似由分隔符分隔的热(可点击)文本的面包屑痕迹,如果需要的话,我希望整个内容可以根据需要包装在热文本中间

回答 2 投票 0

如何使用 CSS 在多行中均匀地间隔换行文本?

当我在网站上制作一些水平居中的文本时,当文本换行时,它看起来像这样: 但我希望这段文字均匀分布,如下所示: 我怎样才能以这样的方式实现这一目标...

回答 2 投票 0

空白和文本换行是怎么回事?

我一直在使用空白并且对此感到满意。仍然是。然后,我注意到还有一种叫做文本换行的东西。我在互联网上的某个地方看到没有浏览器支持

回答 2 投票 0

文本 HTML CSS 换行问题

我对 HTML 和 CSS 非常陌生,我正在尝试制作一个小型网站来完成作业。我还没有走得太远,并且在文本换行方面遇到了麻烦。 文字的第一行看起来很棒,...

回答 3 投票 0

以避免最后一行短的方式包裹 ggplot2 条带文本?

我正在制作一个绘图,其中变量描述出现在facet_wrap()方面的左侧“条带”文本中。有时,当变量描述足够长而需要换行时,最后一行...

回答 1 投票 0

CSS 换行问题:防止单词扩展以填充换行时的行

我正在努力解决 Flexbox 布局问题,我希望对 中归类为单词对的单词进行特定的换行行为。要求是单词在屏幕上保持在一起...

回答 1 投票 0

设置 CEdit 控件文本值及其自动换行

我有一个 CEdit 控件,并将其在资源中设置为多行。 用户可以键入文本,如果文本对于控件来说太宽,则会自动换行。伟大的。 现在,我知道我可以通过 str...

回答 1 投票 0

<span>元素中的内容换行到下一行

如果你看一下 https://www.cranberryleague.com 并向下滚动到“2024 年记分牌”,我似乎无法弄清楚为什么位于 span 元素内的球队种子是包装的...

回答 1 投票 0

knitr 输出中的文本换行长字符串(RStudio)

我有一个很长的向量字符串(DNA 序列),最多有几千个连续字符,我想将其添加到我的knitr 报告输出中。 RStudio 在控制台中完美地处理文本换行...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.