locked
ScrollBarの不具合 RRS feed

  • 質問

  • 次の問題は、ScrollBar単体でも、ListBoxでも発生します。

    おおざっぱに説明しますと、あるユーザコントロールを作り、その中にScrollBar、あるいはListBox(垂直のスクロールバーを強制表示にする)を貼り付けます。
    そのユーザコントロールは、コードによってUserWidthやUserHeightというプロパティを公開しています。
    例えば、UserWidthが1000と設定されると、オリジナルサイズが800ならば、コントロール全てを1000/800の分拡大して表示します。

    Silverlightのルートページが最大化されると、やはりそれに応じて拡大表示されるのですが、その際、ScrollBarも拡大されて表示され、一見正しく動作するように思うのですが、バーの移動する部分が移動しなくなってしまいます。最初に表示されたところに固定されてしまいます。
    ListBoxでも同様です。
    ただ、マウスで上下にドラッグするとListBoxの表示内容はスクロールはします。

    縮小表示の場合は問題ありません。

    現在テストできている範囲では、最大化表示さいたときのみこの不具合が発生します。

    対処方法はありますか?
    問題のScrollBarは何のコードもないし、プロパティも大きさ以外設定していませんから、Silverlightのバグであることは間違いないと考えています。

    このままではオリジナルのScrollBarやListBoxを作らなければなりません。
    2009年5月29日 9:58

すべての返信

  • UpdateLayout() をいくつかのタイミングで試してみますと、現象の出方が変化しました。
    多少、問題の出方が変ったことで使い方の都合により若干ごまかすことが可能になりましたが、やはり確実にこの現象が発生するパターンが存在します。
    2009年5月29日 14:23