質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

WPF

Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

Q&A

解決済

1回答

3866閲覧

ComboBoxの矢印とスクロールバーを大きくする方法

toumorokoshi

総合スコア15

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

WPF

Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

0グッド

0クリップ

投稿2017/10/20 12:14

編集2017/10/21 13:51

###ComboBoxの矢印とスクロールバーを大きくする方法が知りたいです
Windows8.1向けのアプリケーションを作成しています。
ComboBox 右にあるV型の矢印が小さいので、HTML の <option> のように大きく表示させたいです。
スクロールバーも細いので太くしたいですのですが、XAML のスタイルで変えることはできるのでしょうか。
XAML を書き始めたばかりなので、どのように記述したら良いかもわかりません。

おそらくよくありそうなことなので、検索で探してみたのですが、それらしいものが見つかりませんでした。
(私が見逃しているだけかもしれませんが...)

ご存知の方がいらっしゃいましたら、サンプル(Windows8.1 .NET 4.5位でも動作するもの)を書いていただけると助かります。

また、XAML をこれから勉強するにあたり、おすすめのサイトがあれば教えてください。

よろしくお願いします。

###補足情報
Windows8.1 で動作するもの(.NET 4.5位)
VisualStudio 2017 Community
C#アプリケーション(WPF)
です。

###表示幅がうまくいかない状態の画像です
イメージ説明

###実現できたこと
VS2017 で標準テンプレートをコピーする

ComboBox が配置されている xaml を開く ComboBox を右クリックして「テンプレートの編集」>「コピーして編集」を選択する

大きくした矢印の表示幅を調整する

<!--<Border x:Name="splitBorder" Width="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}" SnapsToDevicePixels="true" Margin="0" HorizontalAlignment="Right" BorderThickness="1" BorderBrush="Transparent">--> <Border x:Name="splitBorder" Width="40" SnapsToDevicePixels="true" Margin="0" HorizontalAlignment="Right" BorderThickness="1" BorderBrush="Transparent">

と、Width を書き換えることで V が全部表示されるようになりました

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

こんにちは。

スクロールバーはわかりませんが、矢印は変更できます。
以下を参考にテンプレートをコピーし、編集してください。
スクロール部分がテンプレートで描画されてそうであれば、そちらも調整できると思います。

https://teratail.com/questions/90265

投稿2017/10/20 14:42

Tak1wa

総合スコア4791

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

toumorokoshi

2017/10/20 23:05 編集

ありがとうございました。 私のプロジェクトを Blend 開こうとすると、以下のエラーダイアログが表示されたので、新規プロジェクトを作成して、ComboBox を置いてテンプレートをコピーしました。 --- サポート外 このバージョンの Visual Studio では次のプロジェクトを開けません。プロジェクトの種類がインストールされていないか、このバージョンの Visual Studio ではこれらのプロジェクトの種類がサポートされていない可能性があります。 これらのプロジェクトの種類を有効にする方法、またはアセットを移行する方法については「OK」をクリックしたあとに表示される「移行レポート」で詳細を確認してください。 --- コピーしたソースを私のプロジェクトに取り入れようとしたのですが、 <Themes:SystemDropShadowChrome ... の Themes:SystemDropShadowChrome の部分が 名前 "SystemDropShadowChrome" は名前空間 "clr-amespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero2" に存在しません。 とエラーが発生しますが、これは SystemDropShadowChrome がないとのことですが、この場合はどのようにすればよいかを教えていただくことはできますでしょうか。 よろしくお願いします。
Tak1wa

2017/10/20 23:07

2017であればBlendは使わなくていいです。VSでいいです。 コピーしたソースを取り入れるってどういう手順でしょうか。標準テンプレートのコピー機能を使えば勝手に取り込まれます。 Aero2はクラシックとかXPとかVISTAとかのテーマを当てたいときに関係しますが、今回は使わないと思いますが、モジュールが見つからないのであれば以下のように参照が存在するか、ローカルコピーになっているか確認してみては。 https://stackoverflow.com/questions/46024347/wpf-presentationframework-aero2-not-found
toumorokoshi

2017/10/21 06:15

コピーしたソースというのは Blend で作った標準テンプレートの XAML をコピーして、自プロジェクトで空の .xaml ファイルを作りペーストしました。 教えていただいたように、VS からコピーしたところ問題なくコピーできました。 PATH データを大きくしたところ表示エリアが狭いままでしたので、 <ColumnDefinition MinWidth="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}" Width="0"/> を <ColumnDefinition MinWidth="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}" Width="40"/> にして広くしたのですが、肝心の矢印の表示自体は狭いままで左右が切れてしまう状態ですが、表示自体の幅を変更するには、どのようにすればよいかを教えていただけますでしょうか。 また、このVの画像(パス)は、▼のようなテキストを表示することもできるものなのでしょうか。 よろしくお願いします。
toumorokoshi

2017/10/21 13:53

あれから調べたところ、 <!--<Border x:Name="splitBorder" Width="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}" SnapsToDevicePixels="true" Margin="0" HorizontalAlignment="Right" BorderThickness="1" BorderBrush="Transparent">--> <Border x:Name="splitBorder" Width="40" SnapsToDevicePixels="true" Margin="0" HorizontalAlignment="Right" BorderThickness="1" BorderBrush="Transparent"> のようにすることで、V が全部表示されるようになりました。 ComboBox のスクロールバーの幅を変更する要素名をご存知でしたら教えていただけると助かります。 よろしくお願いします。
toumorokoshi

2017/10/22 05:10

ComboBox の矢印の大きさを変えることができましたので、スクロールバーについては別質問にしようと思います。 大変助かりました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問