VB2010 WPFアプリケーションのコンボボックスについて
コンボボックスには表示項目数が多い時に
自動でスクロールバーが表示されます。
しかし、スクロールバーを表示したくありません。
コンボボックスのスクロールバーの表示・非表示を
制御する事はできるのでしょうか?
調べてはみたのですが、わかりませんでした。
わかる方がいらっしゃいましたらお手数ですが、ご教授お願いします。
カライことゆうようだけどさぁ、基礎以下の質問をしている。
ホントにやる気あるの?
ご教授お願いします>>なぜ、vbの掲示板をウロウロしてんの?
ホント、謎としかいいようがない。
世の中は広いんでしょうか?
ああ、ほんと謎な人物だ。
Are you happy?
解決にしとくよ。
Are you sleep?
っかキャッシュが2月1日で止まってるけどな(笑)
今日は2/12だが。
相当やっかいな問題ですね。
ItemsPanelから攻めたのですが,スクロールバーはその外側にあったようです。
で,そのスクロールバーというか,ItemsPanelの外側のScrollViewerへのアクセス手段がXAMLでは無いようです。
なので,強引な手段になりますが……。
MSDN: ComboBox ControlTemplate Example
http://msdn.microsoft.com/ja-jp/library/ms752094.aspx
ここにWPFのComboBoxのControlTemplateやStyleの例が書いてあります。
これを写してScrollViewerにVerticalScrollBarVisibility="Hidden"を追加することで,垂直スクロールバーは表示されなくなります。
なお,上記のTemplate/Styleは標準と異なるTemplate/Styleなので,適宜値を調整する必要があります。
ある意味,ほとんど自分で一から書き直しですが……。
Yuoさんありがとうございました。
教えて頂いた方法で、なんとかなりそうです。
悩んでいたので、とても助かりました。
// 何となく目についたので。
ScrollViewer.VerticalScrollBarVisibility は添付プロパティです。
こういう要素内部に使用されているものは、その要素で添付プロパティを設定してやれば大体それを適用するように作られています。
つまり、
<ComboBox ScrollViewer.VerticalScrollBarVisibility="Hidden" ...>
</ComboBox>
とすればいいでしょう。
うーん,「試したつもり」でいたようです。
おかしいなぁ,最初に添付プロパティの設定をしてみてダメだったので試行錯誤したつもりだったのですが……。
というわけで,初心者さん,すみません。
Hongliangさんの方法でできます。
無駄に遠回りな方法を提示してしまって申し訳ないです。