VB2010 WPFアプリケーションのコンボボックスについて

解決


初心者  2011-02-10 08:01:12  No: 147299

VB2010 WPFアプリケーションのコンボボックスについて
コンボボックスには表示項目数が多い時に
自動でスクロールバーが表示されます。
しかし、スクロールバーを表示したくありません。
コンボボックスのスクロールバーの表示・非表示を
制御する事はできるのでしょうか?
調べてはみたのですが、わかりませんでした。
わかる方がいらっしゃいましたらお手数ですが、ご教授お願いします。


あのね  2011-02-12 09:53:23  No: 147300

カライことゆうようだけどさぁ、基礎以下の質問をしている。
ホントにやる気あるの?
ご教授お願いします>>なぜ、vbの掲示板をウロウロしてんの?

ホント、謎としかいいようがない。
世の中は広いんでしょうか?
  
ああ、ほんと謎な人物だ。

Are you happy?


あのね  2011-02-12 09:57:47  No: 147301

解決にしとくよ。
Are you sleep?


あのね  2011-02-12 16:50:02  No: 147302

っかキャッシュが2月1日で止まってるけどな(笑)
今日は2/12だが。


YuO  2011-02-13 06:43:42  No: 147303

相当やっかいな問題ですね。

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なので,適宜値を調整する必要があります。

ある意味,ほとんど自分で一から書き直しですが……。


初心者  2011-02-13 10:52:53  No: 147304

Yuoさんありがとうございました。
教えて頂いた方法で、なんとかなりそうです。
悩んでいたので、とても助かりました。


Hongliang  2011-02-18 02:59:45  No: 147305

// 何となく目についたので。

ScrollViewer.VerticalScrollBarVisibility は添付プロパティです。
こういう要素内部に使用されているものは、その要素で添付プロパティを設定してやれば大体それを適用するように作られています。

つまり、
<ComboBox ScrollViewer.VerticalScrollBarVisibility="Hidden" ...>
</ComboBox>
とすればいいでしょう。


YuO  2011-02-18 07:14:58  No: 147306

うーん,「試したつもり」でいたようです。
おかしいなぁ,最初に添付プロパティの設定をしてみてダメだったので試行錯誤したつもりだったのですが……。

というわけで,初心者さん,すみません。
Hongliangさんの方法でできます。
無駄に遠回りな方法を提示してしまって申し訳ないです。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加