基本的には六角形ですが、いくつかの追加のプロパティとメソッドを持つカスタムシェイプクラスを作成しようとしています。コンストラクタでカスタムシェイプクラスを表示する方法
私はPolygon
クラスからそれを継承しようとしたが、Polygon
クラスが封入されているとして、それは、それを許可しませんので、私は抽象Shape
クラスからそれを継承したが、次に何をすべきか分かりません。
<local:Cell Center="20,20" Radius="10" Stroke="Blue" Fill="White"/>
そして私はまた、コンストラクタで見えるようにしたい:これまでのところ私のコードは、今、この
public class Cell : Shape
{
private Polygon poly;
private Point[] points = new Point[6];
public PointCollection Points { get; set; }
public double Radius { get; set; }
public Point Center { get; set; }
public Cell()
{
points[0] = new Point(Center.X - 1/2 * Radius, Center.Y - Radius * 0.866);
points[1] = new Point(Center.X + 1/2 * Radius, Center.Y - Radius * 0.866);
points[2] = new Point(Center.X + Radius, Center.Y);
points[3] = new Point(Center.X + 1/2 * Radius, Center.Y + Radius * 0.866);
points[4] = new Point(Center.X - 1/2 * Radius, Center.Y + Radius * 0.866);
points[5] = new Point(Center.X - Radius, Center.Y);
Points = new PointCollection();
foreach (Point p in points)
Points.Add(p);
poly = new Polygon();
poly.Points = this.Points;
}
}
のように見える、私のようなXAMLでそれを宣言することができるようにしたいです。
これを行うには、他に何を追加する必要がありますか?私が実装する必要がある、またはオーバーライドする必要があるメソッドがある特定のインターフェイスはありますか?
、彼らは関係なく、あなたを助けることが確実にWPF、Silverlightの&WP7は、この上の異なるアプローチを持っていると同じように、技術について具体的にしてくださいする方法がわかりません何とか互換性があります。 – NestorArturo
Ok - Silverlight for WP7 –