gpt4 book ai didi

c# - 如何动态调整文本框的大小为一定数量的字符的宽度?

转载 作者:太空宇宙 更新时间:2023-11-03 16:27:23 25 4
gpt4 key购买 nike

我有一些文本框只允许包含一定数量的字符,例如大多数情况下为 12 或 14。

是否可以根据单词将文本框动态调整为 12 个字符或 14 个字符的宽度?

最佳答案

我不太确定我是否理解你的问题,但对于给定的字符串,你可以像示例方法一样同时设置 TextBox 的 TextWidth 属性下面。

它创建一个 FormattedText来自给定文本的对象和 TextBox 的所有与字体相关的属性。然后它将一个空字符串分配给 TextBox 以获得“空”宽度(这也应该可以通过添加左右填充、左右边框厚度等来实现)。最后,该方法分配 Text 属性并将 Width 设置为空白宽度加上 FormattedText 的宽度。

public void SetTextAndWidth(TextBox textBox, string text)
{
Typeface typeface = new Typeface(
textBox.FontFamily, textBox.FontStyle, textBox.FontWeight, textBox.FontStretch);

FormattedText formattedText = new FormattedText(text, CultureInfo.InvariantCulture,
FlowDirection.LeftToRight, typeface, textBox.FontSize, Brushes.Black);

if (textBox.HorizontalAlignment == HorizontalAlignment.Stretch)
{
textBox.HorizontalAlignment = HorizontalAlignment.Left;
}

textBox.Text = "";
double emptyWidth = textBox.ActualWidth;

textBox.Text = text;
textBox.Width = formattedText.Width + emptyWidth;
}

关于c# - 如何动态调整文本框的大小为一定数量的字符的宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12138099/

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