如何将包含图形的类添加到网格类中?目前我在CreateGraphics上有错误。
using System.Windows;
using System.Windows.Controls;
namespace Othello
{
class Board : Grid
{
public Grid grid = new Grid();
ColumnDefinition col;
RowDefinition row;
int boxesAmount = 8;
int boxSize = 100;
int i = 0;
public Board()
{
grid.Width = boxSize * boxesAmount;
grid.Height = boxSize * boxesAmount;
grid.HorizontalAlignment = HorizontalAlignment.Left;
grid.VerticalAlignment = VerticalAlignment.Top;
grid.ShowGridLines = true;
grid.Background = System.Windows.Media.Brushes.Green;
for (i = 0; i < boxesAmount; i++)
{
// Create Columns
col = new ColumnDefinition();
grid.ColumnDefinitions.Add(col);
// Create Rows
row = new RowDefinition();
grid.RowDefinitions.Add(row);
}
//Console.WriteLine(grid));
this.Children.Add(grid);
Chess chess = new Chess();
grid.Children.Add(chess);
Grid.SetColumn(chess, 0);
Grid.SetRow(chess, 0);
}
}
}
包含图形的第二类
using System;
using System.Drawing;
using System.Windows.Controls;
namespace Othello
{
class Chess : UserControl
{
Graphics g;
public Chess()
{
Console.WriteLine("load chess");
g = this.CreateGraphics();
g.DrawEllipse(Pens.Black, 30, 30, 50, 50);
this.AddChild(g);
}
}
}
错误:
error CS1061: 'Othello.Chess' does not contain a definition for 'CreateGraphics' and no extension method 'CreateGraphics' accepting a first argument of type 'Othello.Chess' could be found (are you missing a using directive or an assembly reference?)