現在WPF C#プロジェクトを作成中です。私はAutoCompleteBox WPFコントロールを使用していますが、ボックスから値を取得する際に問題が発生しています。C#wpfの値を取得するAutoCompleteBoxの問題
オートコンプリートボックスがサーバー名の場合、「loc」と入力すると、ポップアップボックスに「localhost」と表示され、ドロップダウンボックスから値を選択します。
フォームを送信し、ボックスの値を取得しようとすると、私が入力した値ではなく、値が 'loc'になります。以下は
は私が制御using (SQLiteDataReader reader = cmd.ExecuteReader())
{
List<string> serverArr = new List<string>();
while (reader.Read())
{
serverArr.Add(reader["his_server"].ToString());
}
txtServer.ItemsSource = serverArr;
}
私はtxtServer.Textを言ってautocompleteboxから値を取得していますためのオートコンプリートの項目を設定するために使用していたコードです。
この件に関するお手伝いをいただければ幸いです。
おかげで、私は自動補完から項目を選択したときに正常に動作しますtxtServer.selectedItemを使用してみました@Tom Studeeによって示唆されるように
UPDATE 。しかし、ドロップダウンオートコンプリート内にない値が入力された場合は、Null Pointer Exceptionで失敗します。
することができるかもしれません。あなたの 'AutoCompleteBox'はどのように定義されていますか? –
@Meleak提案された項目がクリックされた場合、SelectedItemはうまく動作します。問題は、ユーザーがヌルポインター例外を引き起こす自動補完候補にない値を入力した場合です。 – Boardy
これは、選択した項目またはテキストを探していますか?ユーザーがリストにない項目を選択した場合、nullが予想される結果になります。テキスト値を探していて、 'Text'プロパティを使うか、何か不足していますか? –