ああああああああああああああ!
前の俺の投稿で、「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が使えるようになるというのは、強力だしなぁ...
やるかなぁ...(でも、フォーカスが当たった時に、ボタンが表示される部分があるんだけど、ここもスクロール時に再描画されないからなぁ...どうしようか)