2

シールされた Arc クラスに 2 つの新しいプロパティを追加するにはどうすればよいですか。double 値を保持する double プロパティと、オブジェクトの名前を保持する string プロパティを使用してクラスを拡張したいと考えています。私の最初の試みは Tag プロパティ経由でしたが、これは double 値またはオブジェクト名のみを保持できます。

問題は、43 個の円弧オブジェクトを使用して新しいユーザー コントロールを作成し、マウスが円弧に入ると、別のコントロールが入力されたセグメントの値と名前を表示することです。したがって、すべてのアークは同じ MouseEntered 関数を使用し、「オブジェクト送信者」を介して情報を取得したいと考えています。

誰にでもいい考えがあることを願っています。

4

3 に答える 3

5

複合パターンを使用できます。

class SuperArc
{
   Arc Arc { get; set; }
   // other properties.
}
于 2012-09-20T14:24:53.640 に答える
3

できません。封印されています。また:

  1. プロパティとしてを含む新しいクラスを作成しArcます。
  2. タプルまたはその他のオブジェクトをに格納しますArc.Tag
  3. アークを属性で飾る

あなたの特定の問題については、上記の#2を提案するか、Dictionary<Arc, blahblahblah>またはDictionary<string, blahblahblah>(名前で)を保存して必要な情報を検索することをお勧めします。#1は、描画に必要なすべてのメソッドとプロパティをラップする多くのオーバーヘッドであり、おそらくそれが価値があるよりも面倒です。

于 2012-09-20T14:24:08.450 に答える
0

密閉された留め金を伸ばすことはできません。

独自のクラスを作成し、Arcをクラスメンバーとして使用して、このメンバー関数を公開してみてください。

よろしくお願いします。

于 2012-09-20T14:24:57.010 に答える