2011-07-25 11 views
0

コードの後ろにコードを作成している矩形の中にテキストブロックまたはラベルを追加したい 誰か助けてくれますか?wpfの背後にあるコードで長方形にテキストを追加するには

for (int i = 0; i < _RoomX.Count; i++) 
     { 
      _RoomX[i] = (Convert.ToDouble(_RoomX[i]) * 20).ToString(); 
      _RoomY[i] = (Convert.ToDouble(_RoomY[i]) * 20).ToString(); 

      var rectangle = new Rectangle() 
      { 

       Stroke = Brushes.Black, 
       Fill = brush, 
       Width = Convert.ToDouble(_RoomX[i]), 
       Height = Convert.ToDouble(_RoomY[i]), 
       Margin = new Thickness(
        left: 15, 
        top: 50, 
        right: 0, 
        bottom: 0), 
       HorizontalAlignment = HorizontalAlignment.Left, 
       VerticalAlignment = VerticalAlignment.Top 

      }; 
      mainCanvas.Children.Add(rectangle); 
     } 
+0

なぜ、新しいTextBlockを作成して四角形の中に入れてみてください。 Canvas.TopとCanvas.Leftがどこかにありません。 – Joey

答えて

2

well rectangleはコンテンツコントロールではなく、形状オブジェクトから派生しています...パネルとして使用することはできません。

代わりの四角形あなたの要件は、あなたが何ができるか、その後のRectangleを要求する場合、あなたは...

を境界線を使用することができます...グリッドを作成している>そのグリッドに四角形を追加>とテキストブロックを作成して追加それと同じグリッドにグリッドが物理的に見えないので...テキストが..

を長方形に追加のように、私はサンプル

編集投稿しようと表示されます。 次のコードを使用すると、

それをよりよく理解するのに役立ちます
for (int i = 0; i < _RoomX.Count; i++) 
     { 
      _RoomX[i] = (Convert.ToDouble(_RoomX[i]) * 20).ToString(); 
      _RoomY[i] = (Convert.ToDouble(_RoomY[i]) * 20).ToString(); 

      var rectangle = new Rectangle() 
      { 

       Stroke = Brushes.Black, 
       Fill = brush, 
       Width = Convert.ToDouble(_RoomX[i]), 
       Height = Convert.ToDouble(_RoomY[i]), 
       Margin = new Thickness(
        left: 15, 
        top: 50, 
        right: 0, 
        bottom: 0), 
       HorizontalAlignment = HorizontalAlignment.Left, 
       VerticalAlignment = VerticalAlignment.Top 

      }; 

      Grid grid = new Grid(); 
      grid.Children.Add(rectangle); 
      TextBlock textblock = new TextBlock(); 
      textblock.Text = "Text to add"; 
      grid.Children.Add(textblock); 

      mainCanvas.Children.Add(grid); 
     } 
+0

それは頭の上に作る。私は内部のテキストを必要とします –

+0

テキストを整列するために、テキストブロックの水平および垂直の配置プロパティを使用することができます。 – Bathineni

-1

試しましたか?rectangle.Children.Add(Your textblock)

関連する問題