2010-12-15 6 views
0

コンボボックスのポップアップに問題があります(コンボボックスの問題なのかどうかはわかりません)。最初にクリックすると、ドロップダウンポップアップが正しく表示されます(上に向かって50個の項目があり、下に行くとコンボボックスはページの下に表示され、5個の項目しか表示されません)。しかし、次にアイテムを選択してもう一度開くと、下方向に開きアイテムをスクロールに配置します。だから私はこれを修正し、ポップアップを希望の方向に開くようにすることができますか?ポップアップをシルバーライトで育てるには?

答えて

0

さて、私は何をしましたか?Popup.Childキャンバスの子であるBorder要素のSizeChangedイベントを購読しました。その方法では、コンボボックスの下と上のスペースを計算して、その境界線にCanvas.SetTopメソッドを使ってTopオフセットを設定し、MaxHeightを設定します。たぶん私は後でいくつかのコードを投稿します。

0

「MaxDropDownHeight」はある時点で設定していますか?デフォルトでは無限大ですが、コンボボックスの#より大きい数値に設定すると役立つかもしれません。

また、これをSL4/Firefoxでテストしたところ、コンボボックスが表示されるたびに(選択項目の有無にかかわらず)ポップアップ表示されます。どのSLのバージョンを使用していますか?

+0

私はSL4を使用しています。何よりも? – Walkor

+0

申し訳ありませんが、私が意味したのはMaxDropDownHeightをあなたのリスト内の項目の数よりも大きな数に設定しようとしたことでした。 50個のアイテムがコンボボックスに入っているので、MaxDropDownHeight = 51に設定してください。私はあなたの説明に似た投稿を見ましたが、日付やSLバージョンは記載されていませんでした。それ以外の答えは「バグ」で、diffコントロールを使用することはできません(しかし、バグ#または何かがマイクロソフトで記録されたことを示すための参照はありません) –

0

私はまったく同じ問題を抱えていました(実際にはSilverlight 5でも同じ動作ですが)。私はMaxDropDownHeightでさまざまなことを試しましたが、問題を修正しませんでした。

@ウォーカーあなたの答えで述べたアプローチは有望だと思っていましたが、実際にどのように実装したのか説明できませんでした。

いずれにしても、私はどちらかと言えば解決策は見つけられませんでした。私は、カスタムオブジェクトのコレクションではなくComboBoxItemsでComboBoxを実装した場合、ドロップダウン/選択/方向の問題は発生しないことを発見しました。私はもう少し詳細に入る答えhereを投稿しました。

関連する問題