[WPF][ComboBox] 項目の配置位置を設定する

スポンサーリンク

HorizontalContentAlignment プロパティを使用すると、項目の表示を左寄せ/中央/右寄せに設定することができます。

HorizontalContentAlignment プロパティには HorizontalAlignment 列挙体を指定します。

 

HorizontalAlignment 列挙体 メンバ名説明 Left 左寄せ Center 中央 Right 右寄せ Stretch 指定できるが反映されない

下記は、「左寄せ」「中央」「右寄せ」の RadioButton コントロールチェック時に、ComboBox のコンテンツの配置位置を変更する例です。

ComboBox のコンテンツの配置位置を変更する例

 

XAMLの例

<ComboBox HorizontalContentAlignment="Left">
    <ComboBoxItem Content="リンゴ" />
    <ComboBoxItem Content="ミカン" />
    <ComboBoxItem Content="バナナ" />
    <ComboBoxItem Content="パイナップル" />
    <ComboBoxItem Content="スイカ" />
    <ComboBoxItem Content="グレープフルーツ" />
</ComboBox>

VBの例

Private Sub RadioButton_Checked(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles RadioButton1.Checked, RadioButton4.Checked, RadioButton3.Checked, RadioButton2.Checked
    If RadioButton1.IsChecked Then
        '左揃え
        ComboBox1.HorizontalContentAlignment = Windows.HorizontalAlignment.Left
    ElseIf RadioButton2.IsChecked Then
        '中央揃え
        ComboBox1.HorizontalContentAlignment = Windows.HorizontalAlignment.Center
    ElseIf RadioButton3.IsChecked Then
        '右揃え
        ComboBox1.HorizontalContentAlignment = Windows.HorizontalAlignment.Right
    Else
        'ストレッチ(指定することはできるが適用されないので注意)
        ComboBox1.HorizontalContentAlignment = Windows.HorizontalAlignment.Stretch
    End If
End Sub

C#の例

private void radioButton_Checked(object sender, RoutedEventArgs e)
{
    if ((bool)radioButton1.IsChecked)
        //左揃え
        comboBox1.HorizontalContentAlignment = HorizontalAlignment.Left;
    else if ((bool)radioButton2.IsChecked)
        // 中央揃え
        comboBox1.HorizontalContentAlignment = HorizontalAlignment.Center;
    else if ((bool)radioButton3.IsChecked)
        // 右揃え
        comboBox1.HorizontalContentAlignment = HorizontalAlignment.Right;
    else
        // ストレッチ(指定することはできるが適用されないので注意)
        comboBox1.HorizontalContentAlignment = HorizontalAlignment.Stretch;
}
タイトルとURLをコピーしました