3

以下に指定されているコンボボックスがあります。

<ComboBox Height="31" Margin="7,7,0,0" Name="callerID" IsEditable="True"  Background="LightBlue" KeyDown="callerIDbar_KeyDown" Foreground="White" FontSize="17"  FontWeight="Bold" HorizontalContentAlignment="Center" VerticalAlignment="Top" Grid.Row="0" Grid.Column="0"  />

storedCallsに入力される電話番号のコレクションですComboBox.Items:

foreach (string call in storedCalls)
{
   if (call != "Enter a number to dial")
      callerID.Items.Add(call);
}

これはすべて正常に機能します。のコレクションItemsの値によって駆動されるオートコンプリートが好きなので、プライマリにデータを入力します。XAML でドロップ ダウン エラーを無効にし、ドロップ ダウン メニューを無効にする方法はありますか? つまり、コントロールのような単純なオートコンプリート テキスト ボックスを作成しますか?ComboBoxItems

コード ビハインドや複雑なマークアップを含むコントロールがいっぱいあるのを見てきましたがTextBox、これは私がやりたいことではありません。ドロップダウンメニューの表示を無効にするだけです。

4

1 に答える 1

4

DropDownOpenedイベントを処理してから閉じることができます。
したがって、XAML では次のようになります。

<ComboBox x:Name="cb" DropDownOpened="cb_DropDownOpened"/>

そしてコードビハインドで:

private void cbCategoria_DropDownOpened(object sender, EventArgs e)
    {
        ComboBox cb = sender as ComboBox;
        cb.IsDropDownOpen = false;
    }

MaxDropDownHeight0 に設定するよりも、このソリューションを優先します。

于 2014-07-10T13:52:03.497 に答える