2011-10-15 183 views
1

它可以在運行時更改文本框的字體大小嗎?在WPF中更改文本框的字體大小

我想這樣做:

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

    } 
} 

,但它沒有工作

+0

如果有什麼*「不起作用」*,您應該描述如何如此,即發生了什麼。 –

回答

4

演員不具有高優先級,你的代碼有效地試圖在ctrl.FontSizeTextBox投的價值,你需要加括號(和雙投是多餘的):

((TextBox)ctrl).FontSize = 5; 

而且您檢查控件的類型的方式不是這樣的好我代替,請使用is。否則TextBox的子類不包括在內。

if (ctrl is TextBox) 

而且因爲你不僅要關心類型和投以及與TextBox類界面交互時,您不妨使用as

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

這也方便擺脫了括號叢林。

相關問題