2011-11-09 19 views
0

これは私が使用しているコードですが、なぜ私がウィンドウフォームで行った方法で実装できるのかわかりません。Silverlightでボタン配列を作成できませんか?

 Button[] btnMonday = new Button[20]; 
     string[] timeslot = { "08:00 AM", "08:30 AM", "09:00 AM", "09:30 AM", "10:00 AM", "10:30 AM", "11:00 AM", "11:30 AM", "12:00 PM", "12:30 PM", "01:00 PM", "01:30 PM", "02:00 PM", "02:30 PM", "03:00 PM", "03:30 PM", "04:00 PM", "04:30 PM", "05:00 PM", "05:30 PM" }; 

     #region Monday 
     for (int i = 0; i < 20; i++) 
     { 
      btnMonday[i].SetValue(Height, 38); 
      btnMonday[i].SetValue(Width, 256); 
      btnMonday[i].SetValue(Content, timeslot[i]); 
      btnMonday[i].SetValue(Background, 0xFF, 0xB1, 0xB1, 0xB1); 

      // Sets dependency properties 
      btnMonday[i].SetValue(Grid.ColumnProperty, 0); 
      btnMonday[i].SetValue(Grid.RowProperty, i + 1); 
      // Adds the dynamically created control to the canvas 
      LayoutRoot.Children.Add(btnMonday[i]); 
     } 

更新

私はまだコード::

Button[] btnMonday = new Button[20]; 
      string[] timeslot = { "08:00 AM", "08:30 AM", "09:00 AM", "09:30 AM", "10:00 AM", "10:30 AM", "11:00 AM", "11:30 AM", "12:00 PM", "12:30 PM", "01:00 PM", "01:30 PM", "02:00 PM", "02:30 PM", "03:00 PM", "03:30 PM", "04:00 PM", "04:30 PM", "05:00 PM", "05:30 PM" }; 

      #region Monday 
      for (int i = 0; i < 20; i++) 
      { 
       btnMonday[i] = new Button(); 
       btnMonday[i].SetValue(Height, 38); 
       btnMonday[i].SetValue(Width, 256); 
       btnMonday[i].SetValue(Content, timeslot[i]); 

       // Sets dependency properties 
       btnMonday[i].SetValue(Grid.ColumnProperty, 0); 
       btnMonday[i].SetValue(Grid.RowProperty, i + 1); 
       // Adds the dynamically created control to the canvas 
       LayoutRoot.Children.Add(btnMonday[i]); 
      } 

のこの部分でエラーを取得

syntacエラーの可能性があります?私はボタンの背景の値を設定する方法を知っているかもしれませんか?それは私がこの数行

 btnMonday[i].SetValue(Height, 38); 
     btnMonday[i].SetValue(Width, 256); 
     btnMonday[i].SetValue(Content, timeslot[i]); 
     btnMonday[i].SetValue(Background, 0xFF, 0xB1, 0xB1, 0xB1); 
+0

を! – Gabe

+0

@Gabe、ojlovecdの回答でコメントを確認してください – 1myb

+0

いいえ、質問する際には、質問に関連するすべての情報を記入してください。 – Gabe

答えて

1

あなたがするSetValueメソッドを使用して主張している場合は、この試してください:あなたについての私たちにERRORを伝える方法

 btnMonday[i].SetValue(Button.WidthProperty, 38); 
     btnMonday[i].SetValue(Button.HeightProperty, 256); 
     btnMonday[i].SetValue(Button.ContentProperty, timeslot[i]); 
1
Button[] btnMonday = new Button[20]; 
    string[] timeslot = { "08:00 AM", "08:30 AM", "09:00 AM", "09:30 AM", "10:00 AM", "10:30 AM", "11:00 AM", "11:30 AM", "12:00 PM", "12:30 PM", "01:00 PM", "01:30 PM", "02:00 PM", "02:30 PM", "03:00 PM", "03:30 PM", "04:00 PM", "04:30 PM", "05:00 PM", "05:30 PM" }; 

    #region Monday 
    for (int i = 0; i < 20; i++) 
    { 
     btnMonday[i] = new Button(); 
     btnMonday[i].Height = 38; 
     btnMonday[i].Width = 256; 
     btnMonday[i].Content = timeslot[i]; 

     // Sets dependency properties 
     Grid.SetColumn(btnMonday[i], 0); 
     Grid.SetRow(btnMonday[i], i + 1); 
     // Adds the dynamically created control to the canvas 
     LayoutRoot.Children.Add(btnMonday[i]); 
    } 

試すために::

Error 2 Argument 1: cannot convert from 'double' to 'System.Windows.DependencyProperty' 

Error 1 The best overloaded method match for 'System.Windows.DependencyObject.SetValue(System.Windows.DependencyProperty, object)' has some invalid arguments 

を取得した背景color.Theエラーを定義し、以前のスタイルにうまく機能していないように見えますこの

+0

このエラー@を取得しています。@エラー - 'System.Windows.DependencyObject.SetValue(System.Windows.DependencyObject.SetValue) 、object) 'に無効な引数があります – 1myb

+0

質問を確認してください。@編集しましたがまだエラーです – 1myb

+1

@SLim私の回答も編集しました。もう一度お試しください。 – ojlovecd

1

私はそれがヌル参照エラーを取得する必要があると思う。

まず、ボタン配列を宣言して割り当てます。

しかし、各ボタンには割り当てが必要です。

btnMonday [i] = new Button();

+0

私はまだエラーが発生している間に質問をチェックしてください。<< – 1myb

1
 Button[] btnMonday = new Button[20]; 
     string[] timeslot = { "08:00 AM", "08:30 AM", "09:00 AM", "09:30 AM", "10:00 AM", "10:30 AM", "11:00 AM", "11:30 AM", "12:00 PM", "12:30 PM", "01:00 PM", "01:30 PM", "02:00 PM", "02:30 PM", "03:00 PM", "03:30 PM", "04:00 PM", "04:30 PM", "05:00 PM", "05:30 PM" }; 

     for (int i = 0; i < 20; i++) 
     { 
      btnMonday[i] = new Button(); 
      btnMonday[i].Height = 38; 
      btnMonday[i].Width = 256; 
      btnMonday[i].Content = timeslot[i]; 
      btnMonday[i].Margin = new Thickness(0, i * 68, 0, 0); 

      // Sets dependency properties 
      btnMonday[i].SetValue(Grid.ColumnProperty, 0); 
      btnMonday[i].SetValue(Grid.RowProperty, i + 1); 

      // Adds the dynamically created control to the canvas 
      LayoutRoot.Children.Add(btnMonday[i]); 
     } 

私は完全にあなたの質問を理解していないが、あなたのコードdosen'tをコンパイルします。上記のように、私はそれを適切に修正しました。

関連する問題