2017-02-09 47 views
0

WPFでプログラムでグリッドを使用する際に問題が発生しています。私は、ウィンドウに列と行のグリッドを追加しようとしていますが、XAMLではなくC#コードで行いたいと思います。私は、という遊び方のクラスを作りました。グリッドと列/行を追加したいのですが。問題は、グリッドがウィンドウに追加されないことです。 grid.showlinesプロパティを使ってテストしましたが、何も表示されません。動的にループを使用してWPFでグリッドを作成する

class PlayBoard 
{ 
    public Grid playGrid; 

    public PlayBoard(int width, int height) 
    { 
     playGrid = new Grid(); 
     playGrid.Width = width-20; 
     playGrid.Height = height-20; 

     for (int i = 0; i < (playGrid.Height/10); i++) 
     { 
      var myRowDefinition = new RowDefinition(); 
      myRowDefinition.Height = new GridLength(10); 
      playGrid.RowDefinitions.Add(myRowDefinition); 

     } 

     for (int j = 0; j < (playGrid.Width/10); j++) 
     { 
      var myColumnDefinition = new ColumnDefinition(); 
      myColumnDefinition.Width = new GridLength(10); 
      playGrid.ColumnDefinitions.Add(myColumnDefinition); 
     } 
    } 
} 

そして、ここで私は、メインウィンドウのコンストラクタでメインウィンドウクラスで使用しているコードだ:

public partial class MainWindow : Window 
{ 
    PlayBoard board; 

    public MainWindow() 
    { 
     InitializeComponent(); 

     board = new PlayBoard((int)PlayWindow.Width, (int)PlayWindow.Height); 
     board.playGrid.ShowGridLines = true; 
    } 
} 

答えて

0

A Windowは、コンテンツが必要です。 GridをウィンドウのContentプロパティに割り当てることで、ウィンドウに追加できます。

this.Content = board.playGrid; 

実際にUserControlと呼ばれるものを作成しようとしているようです。 UserControlは、他のコントロールで構成されたカスタムコントロールです。あなたはそれについてもっと読むことができますhere

+0

それは正しい答えです!大変ありがとうございました – Heisenberker

+0

@Heisenberker、upvote /答えを受け入れてください。 –

関連する問題