私は Windows Phone プロジェクトに取り組んでいます。これには、キャンバス内にグリッドを動的に配置し、関連データを示す 2 つのテキストブロックを配置する必要があります。
私のコードは次のようになります。
Canvas canvas = new Canvas();
canvas.Height = height;
canvas.Width = width;
Grid grid = new Grid();
grid.Height = height;
grid.Width = width;
grid.Background = new SolidColorBrush(Colors.Green);
grid.ShowGridLines = true;
canvas.Children.Add(grid);
ColumnDefinition c1 = new ColumnDefinition();
c1.Width = GridLength.Auto;
ColumnDefinition c2 = new ColumnDefinition();
c2.Width = GridLength.Auto;
grid.ColumnDefinitions.Add(c1);
grid.ColumnDefinitions.Add(c2);
TextBlock wel_txt = new TextBlock();
wel_txt.Text = wel.ToString();
wel_txt.TextAlignment = TextAlignment.Center;
wel_txt.Foreground = new SolidColorBrush(Colors.White);
wel_txt.FontSource = slkscr;
wel_txt.FontFamily = new FontFamily(FontName);
wel_txt.FontSize = FontSize;
TextBlock tel_txt = new TextBlock();
tel_txt.Text = tel.ToString();
tel_txt.TextAlignment = TextAlignment.Center;
tel_txt.Foreground = new SolidColorBrush(Colors.White);
tel_txt.FontSource = slkscr;
tel_txt.FontFamily = new FontFamily(FontName);
tel_txt.FontSize = FontSize;
grid.Children.Add(wel_txt);
grid.Children.Add(tel_txt);
Grid.SetColumn(tel_txt, 0);
Grid.SetColumn(wel_txt, 1);
canvas.Children.Add(grid);
理想的には、コードはキャンバスに 2 つの列を作成し、各テキストブロックを列に配置する必要があります。完全に整列。しかし、私が得るのは、両方のテキストブロックがキャンバスの左上隅で互いに重なっているということです。
私は何が欠けていますか?