studio Odyssey




スタジオ日誌

日誌的なもの

2009.02.25

DataRepeaterでコピーされるイベント

Written by
しゃちょ
Category
プログラム
仕事

 ああああああああああああああ!

 前の俺の投稿で、「DataRepeaterのイベントのコピーは、なんかちょっと違う」的なとを書いたが、判明した。
 つか、中身覗いたんですけどね。

 中で、イベントをコピーするところがあるのですが、これ、コピーの対象が、this.Eventsなんですよ。

 なんで、
public event EventHandler Sample;  みたいなイベントは、コピーされないんですよ!

 なるほど、自作のイベントはほとんどがこの書き方で手抜きしとるわいな。
 そりゃー、コピーされないわ。

 と、いうことで、このコードを、 private static readonly object EventSample = new object();

public event CancelEventHandler Sample
{
    add
    {
        base.Events.AddHandler(EventSample, value);
    }
    remove
    {
        base.Events.RemoveHandler(EventSample, value);
    }
}
 とすると、コピーされるようです。

 げー。
 イベント周り、書き直ししないとだめかー。
 まぁ、それでもDataRepeaterが使えるようになるというのは、強力だしなぁ...

 やるかなぁ...(でも、フォーカスが当たった時に、ボタンが表示される部分があるんだけど、ここもスクロール時に再描画されないからなぁ...どうしようか)


トラックバックURL

http://blog.studio-odyssey.net/cgi-bin/mt/mt-tb.cgi/56


コメントする