【问题标题】:Change font size of a TextBox更改文本框的字体大小
【发布时间】:2011-12-08 12:50:09
【问题描述】:

在 WPF 中是否可以在运行时更改文本框的字体大小?

我试图这样做:

foreach (Control ctrl in gridArray[i].Children)
 {
    if(ctrl.GetType() == typeof(TextBox))
    {
        (TextBox)ctrl.FontSize = (double)5;

    }
 }

但是没用

【问题讨论】:

  • 如果某件事“不起作用”,您应该描述原因,即究竟发生了什么。

标签: c# wpf textbox font-size


【解决方案1】:

转换没有高优先级,您的代码有效地尝试将ctrl.FontSize中的值转换为TextBox,您需要添加括号(并且双重转换是多余的):

((TextBox)ctrl).FontSize = 5;

进一步检查控件类型的方式不是一个好主意,请改用is。否则不包括 TextBox 的子类。

if (ctrl is TextBox)

此外,由于您不仅关心类型和强制转换,还要与TextBox 类接口进行交互,您不妨使用as

var textBox = ctrl as TextBox;
if (textBox != null)
    textBox.FontSize = 5;

这也方便地摆脱了括号丛林。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-23
    • 2021-12-21
    • 1970-01-01
    • 1970-01-01
    • 2012-11-10
    • 1970-01-01
    • 2021-08-25
    • 1970-01-01
    相关资源
    最近更新 更多