更改TextBox的字体大小

时间:2011-10-15 22:57:25

标签: c# wpf textbox font-size

WPF中的

可以在运行时更改文本框字体大小吗?

我试着这样做:

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

    }
 }

但它无效

1 个答案:

答案 0 :(得分:4)

强制转换没有高优先级,你的代码有效地尝试将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;

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