Wpf-combobox
WPF-コンボボックス
コンボボックスは、編集できないテキストボックスと、ユーザーがリストからアイテムを選択できるドロップダウンリストボックスを組み合わせた選択コントロールです。 現在の選択を表示するか、選択されたアイテムがない場合は空になります。 ComboBoxクラスの階層的な継承は次のとおりです-
ComboBoxの一般的に使用されるプロパティ
以下は、ComboBoxの最も一般的に使用されるプロパティです。
Sr.No. | Property & Description |
---|---|
1 |
Background コントロールの背景を提供するブラシを取得または設定します。 (Controlから継承) |
2 |
BorderThickness コントロールの境界線の太さを取得または設定します。 (Controlから継承) |
3 |
FontFamily コントロール内のテキストの表示に使用されるフォントを取得または設定します。 (Controlから継承) |
4 |
FontSize このコントロール内のテキストのサイズを取得または設定します。 (Controlから継承) |
5 |
FontStyle テキストがレンダリングされるスタイルを取得または設定します。 (Controlから継承) |
6 |
FontWeight 指定したフォントの太さを取得または設定します。 (Controlから継承) |
7 |
Foreground 前景色を説明するブラシを取得または設定します。 (Controlから継承) |
8 |
GroupStyle グループの各レベルの外観を定義するGroupStyleオブジェクトのコレクションを取得します。 (ItemsControlから継承) |
9 |
Header コントロールのヘッダーのコンテンツを取得または設定します。 |
10 |
Height FrameworkElementの推奨される高さを取得または設定します。 (FrameworkElementから継承されます) |
11 |
HorizontalAlignment FrameworkElementがパネルやアイテムコントロールなどのレイアウトの親で構成されるときにFrameworkElementに適用される水平方向の配置特性を取得または設定します。 (FrameworkElementから継承されます) |
12 |
IsDropDownOpen ComboBoxのドロップダウン部分が現在開いているかどうかを示す値を取得または設定します。 |
13 |
IsEditable ユーザーがComboBoxのテキストボックス部分のテキストを編集できるかどうかを示す値を取得します。 このプロパティは常にfalseを返します。 |
14 |
IsEnabled ユーザーがコントロールを操作できるかどうかを示す値を取得または設定します。 (Controlから継承) |
15 |
Margin FrameworkElementの外側のマージンを取得または設定します。 (FrameworkElementから継承されます) |
16 |
Name オブジェクトの識別名を取得または設定します。 XAMLプロセッサがXAMLマークアップからオブジェクトツリーを作成するとき、ランタイムコードはこの名前でXAMLで宣言されたオブジェクトを参照できます。 (FrameworkElementから継承されます) |
17 |
Opacity オブジェクトの不透明度を取得または設定します。 (UIElementから継承) |
18 |
SelectedIndex 選択された項目のインデックスを取得または設定します。 (セレクターから継承) |
19 |
SelectedItem 選択した項目を取得または設定します。 (セレクターから継承) |
20 |
SelectedValue SelectedValuePathを使用して取得した、選択された項目の値を取得または設定します。 (セレクターから継承) |
21 |
Style レイアウトおよびレンダリング中にこのオブジェクトに適用されるインスタンススタイルを取得または設定します。 (FrameworkElementから継承されます) |
22 |
VerticalAlignment FrameworkElementがパネルや項目コントロールなどの親オブジェクトで構成されるときにFrameworkElementに適用される垂直方向の配置特性を取得または設定します。 (FrameworkElementから継承されます) |
23 |
Width FrameworkElementの幅を取得または設定します。 (FrameworkElementから継承されます) |
24 |
ItemsSource ItemsControlのコンテンツの生成に使用されるオブジェクトソースを取得または設定します。 (ItemsControlから継承) |
ComboBoxの一般的に使用されるメソッド
以下は、ComboBoxの最も一般的に使用されるメソッドです。
Sr.No. | Method & Description |
---|---|
1 |
Arrange 子オブジェクトを配置し、UIElementのサイズを決定します。 子要素のカスタムレイアウトを実装する親オブジェクトは、レイアウトオーバーライド実装からこのメソッドを呼び出して、再帰的なレイアウト更新を形成する必要があります。 (UIElementから継承) |
2 |
FindName 指定された識別子名を持つオブジェクトを取得します。 (FrameworkElementから継承されます) |
3 |
Focus コントロールにフォーカスを設定しようとします。 (Controlから継承) |
4 |
GetValue DependencyObjectから依存関係プロパティの現在の有効値を返します。 (DependencyObjectから継承) |
5 |
IndexFromContainer 指定され生成されたコンテナを持つアイテムのインデックスを返します。 (ItemsControlから継承) |
6 |
OnDragEnter DragEnterイベントが発生する前に呼び出されます。 (Controlから継承) |
7 |
OnDragLeave DragLeaveイベントが発生する前に呼び出されます。 (Controlから継承) |
8 |
OnDragOver DragOverイベントが発生する前に呼び出されます。 (Controlから継承) |
9 |
OnDrop Dropイベントが発生する前に呼び出されます。 (Controlから継承) |
10 |
OnKeyDown KeyDownイベントが発生する前に呼び出されます。 (Controlから継承) |
11 |
OnKeyUp KeyUpイベントが発生する前に呼び出されます。 (Controlから継承) |
12 |
OnLostFocus LostFocusイベントが発生する前に呼び出されます。 (Controlから継承) |
13 |
ReadLocalValue ローカル値が設定されている場合、依存関係プロパティのローカル値を返します。 (DependencyObjectから継承) |
14 |
SetBinding 提供されたバインディングオブジェクトを使用して、FrameworkElementにバインディングをアタッチします。 (FrameworkElementから継承されます) |
15 |
SetValue DependencyObjectの依存関係プロパティのローカル値を設定します。 (DependencyObjectから継承) |
ComboBoxの一般的に使用されるイベント
以下は、ComboBoxの最も一般的に使用されるイベントです。
Sr.No. | Event & Description |
---|---|
1 |
DragEnter 入力システムが、この要素をターゲットとして基になるドラッグイベントを報告したときに発生します。 (UIElementから継承) |
2 |
DragLeave 入力システムが、この要素を起点として基本的なドラッグイベントを報告したときに発生します。 (UIElementから継承) |
3 |
DragOver 入力システムが潜在的なドロップターゲットとしてこの要素を持つ基本的なドラッグイベントを報告するときに発生します。 (UIElementから継承) |
4 |
DragStarting ドラッグ操作が開始されたときに発生します。 (UIElementから継承) |
5 |
Drop 入力システムが、この要素をドロップターゲットとして基になるドロップイベントを報告したときに発生します。 (UIElementから継承) |
6 |
DropCompleted ドラッグアンドドロップ操作が終了したときに発生します。 (UIElementから継承) |
7 |
DropDownClosed ComboBoxのドロップダウン部分が閉じたときに発生します。 |
8 |
DropDownOpened ComboBoxのドロップダウン部分が開いたときに発生します。 |
9 |
GotFocus UIElementがフォーカスを受け取ったときに発生します。 (UIElementから継承) |
10 |
IsEnabledChanged IsEnabledプロパティが変更されたときに発生します。 (Controlから継承) |
11 |
KeyDown UIElementにフォーカスがあるときにキーボードキーが押されると発生します。 (UIElementから継承) |
12 |
KeyUp UIElementにフォーカスがあるときにキーボードキーが離されると発生します。 (UIElementから継承) |
13 |
LostFocus UIElementがフォーカスを失ったときに発生します。 (UIElementから継承) |
14 |
SelectionChanged 現在選択されている項目が変更されたときに発生します。 (セレクターから継承) |
15 |
SizeChanged ActualHeightまたはActualWidthプロパティがFrameworkElementの値を変更したときに発生します。 (FrameworkElementから継承されます) |
例
- WPFComboBoxControlという名前の新しいWPFプロジェクトを作成しましょう。
- ツールボックスから2つのコンボボックスと2つのテキストボックスをドラッグし、プロパティウィンドウで次のプロパティを設定します。
コントロール
物件
値
コンボボックス1
isEditable
偽
Name
コンボボックス
幅
90
コンボボックス2
isEditable
True
Name
comboBox1
幅
90
Textbox1
Name
テキストボックス
幅
300
Textbox2
Name
textBox1
幅
300
- 次に、コンボボックスとテキストボックスのXAMLタグが表示されるXAMLウィンドウに切り替えます。
- 次のXAMLコードに示すように、いくつかのプロパティコンボボックスアイテムと選択イベントを追加します。
<Window x:Class = "WPFComboBoxControl.MainWindow"
xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d = "http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local = "clr-namespace:WPFComboBoxControl"
mc:Ignorable = "d" Title = "MainWindow" Height = "350" Width = "604">
<Grid>
<ComboBox x:Name = "comboBox" HorizontalAlignment = "Left"
Margin = "80,53,0,0" VerticalAlignment = "Top" Width = "120"
SelectionChanged = "Combo_SelectionChanged">
<ComboBoxItem Content = "Item #1"/>
<ComboBoxItem Content = "Item #2"/>
<ComboBoxItem Content = "Item #3"/>
</ComboBox>
<ComboBox x:Name = "comboBox1" HorizontalAlignment = "Left"
Margin = "80,153,0,0" VerticalAlignment = "Top" Width = "120"
IsEditable = "True"
SelectionChanged = "Combo1_SelectionChanged">
<ComboBoxItem Content = "Item #1"/>
<ComboBoxItem Content = "Item #2"/>
<ComboBoxItem Content = "Item #3"/>
</ComboBox>
<TextBox x:Name = "textBox" HorizontalAlignment = "Left"
Height = "23" Margin = "253,53,0,0" TextWrapping = "Wrap"
VerticalAlignment = "Top" Width = "200"/>
<TextBox x:Name = "textBox1" HorizontalAlignment = "Left"
Height = "23" Margin = "253,152,0,0" TextWrapping = "Wrap"
VerticalAlignment = "Top" Width = "200"/>
</Grid>
</Window>
以下に、選択変更イベントが実装されている* C#コード*を示します。
using System.Windows;
using System.Windows.Controls;
namespace WPFComboBoxControl {
///<summary>
///Interaction logic for MainWindow.xaml
///</summary>
public partial class MainWindow : Window {
public MainWindow() {
InitializeComponent();
}
private void Combo_SelectionChanged(object sender, SelectionChangedEventArgs e) {
textBox.Text = comboBox.SelectedItem.ToString();
}
private void Combo1_SelectionChanged(object sender, SelectionChangedEventArgs e) {
textBox1.Text = comboBox1.SelectedItem.ToString();
}
}
}
上記のコードをコンパイルして実行すると、次のウィンドウが生成されます。 アイテムを選択すると、テキストボックスに表示されます。
上記のサンプルコードを実行し、コンボボックスコントロールの他のプロパティとイベントを試すことをお勧めします。