以下のコードでは、しようとしています...
- TextBlock(txtDays) を Grid(mygrid) 内に配置します (行として)
- Grid を ListBox(lsBox) 内に配置します
- 最後に、ListBox を別の Grid(ContentPanel) に配置する
プログラムは適切なエラーなしでクラッシュするだけで、このコードを実行するとエミュレーターが停止します。Grid (2.) を stackPanel 内に配置するか、ListBox に配置せずに他の Grid (3.) に直接配置すると、コードは機能しますが、ListBox では機能しません。
コメント、支援をいただければ幸いです。
ありがとうございました。
private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
{
string[] lstDays = new string[] { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" };
//Creating a ListBox
ListBox lstBox = new ListBox();
//Grid definition
Grid mygrid = new Grid();
ColumnDefinition c1 = new ColumnDefinition(); //creating a column
mygrid.ColumnDefinitions.Add(c1);
int i = -1;
foreach (string item in lstDays)
{
i += 1;
TextBlock txtDays = new TextBlock(); //Creating a TextBlock
RowDefinition r1 = new RowDefinition(); //Creating a row
mygrid.RowDefinitions.Add(r1);
txtDays.Text = item;
txtDays.TextAlignment = TextAlignment.Left;
if (item == "Thursday")
{
txtDays.TextAlignment = TextAlignment.Right;
txtDays.Foreground = new SolidColorBrush(Colors.Green);
}
mygrid.Children.Add(txtDays); //Adding the TextBlock into the grid
Grid.SetRow(txtDays,i); //Placing the item in a particular row inside the grid
lstBox.Items.Add(mygrid); //Placing grid inside a listBox (ERROR here)
}
RowDefinition rNewRow = new RowDefinition();
ContentPanel.RowDefinitions.Add(rNewRow);
ContentPanel.Children.Add(lstBox);
}