2011-10-15 7 views
1

в WPF. Возможно ли изменить размер шрифта текстового поля во время выполнения?Изменить размер шрифта TextBox

я пытался сделать это:

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

    } 
} 

, но оно не работает

+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; 

Это также удобно избавляется от скобки джунгли.

Смежные вопросы