私はいくつかのカスタムクラスをアイテムとして取り込み、それらを描画するカスタムコントロールを実装しました。ページをめくるためにページングクラスを実装したいが、それをカスタマイズすることができる。これまではインターフェイスを定義していました。C#でのクラスデザインの問題。コントロール用ポケットベル
public interface IPager
{
void NextPage(....);
int CurrentPage(.....);
void PreviousPage(...);
int PageCount(.....);
}
私のカスタムコントロールは、IPagerの実装を取ります。問題は、インスタンスがコントロール内から作成されていないことです。これは問題ではありませんが、複雑なものを計算することなく、currentPageのようなインスタンスパラメータを追加すると問題になります。問題は、IPager実装がカスタムコントロールオブジェクトの外にありますが、1つのコントロールでのみ使用する必要があるということです。
私はできませんステートレスなIPagerの実装とカスタムコントロールのインスタンス値の保持よりも、他の解決策です。 ページャが動的に変更される可能性があるので、カスタムコントロールクラスを拡張することも解決策ではありません。
他の解決方法はありますか?