2016-03-28 41 views
-2

実行時にWPFでボタンの背景色(名前:b0、b1、b2、b3、b4、b5、b6、b7、b8、b9)を設定しようとしています。実行時にWPFのボタンの背景色を設定する

色の名前は、現在赤色のデータベースから取得しています。しかし、それはSystem.NullReferenceExceptionn私を与えている:

private void ButtonBgColor() 
{ 
string qryBgColor = "select Name from lookup where code in (select VALUE from qSettings where name='BUTTON_BG_COLOR') and type='BgColor'"; 
try 
{ 
sqlConnection.Open(); 
sqlCommand = new SqlCommand(qryBgColor, sqlConnection); 
sqlDataReader = sqlCommand.ExecuteReader(); 
if (sqlDataReader.Read()) 
{ 
string BUTTON_BG_COLOR = sqlDataReader["Name"].ToString(); 
Button[] b = new Button[9]; 
for (int i = 0; i < b.Length; i++) 
{ 
var textBlock08 = (TextBlock)b[i].Template.FindName("myTextBlock", b[i]); 
textBlock08.Background = (System.Windows.Media.SolidColorBrush)new System.Windows.Media.BrushConverter().ConvertFromString(BUTTON_BG_COLOR); 
} 
} 
} 
catch (Exception exp) 
{ 
MessageBox.Show(exp.ToString(), "Button Background Color Exception"); 
} 

は、誰も私がこの問題を解決するために助けることができる

オブジェクト参照がオブジェクトインスタンスに設定されていませんか?

ありがとうございます。

答えて

1

bには何も割り当てられていません。それは単なる空の配列です。したがって、b [i]を呼び出すと常にnull-refが返されます。

+0

それはループ内にあり、どのようにNULLになる可能性がありますか? –

+0

あなたの配列はnullではありませんが、配列内の各要素はnullです。 – Jace

+0

b0はボタンの名前です –

関連する問題