2011-12-13 15 views
1

私は、Webサービスによって送信されたユーザーのコレクションにcomboBoxをバインドします。comboBox.comboSpec.SelectedItem.ToString()が正しい値を指定していません

私が使用して、選択した値を読み取るしようとすると:

string x = comboSpec.SelectedItem.ToString(); 

or 

string x = comboSpec.SelectedValue.ToString(); 

を私が取得(ブレークポイントモード):私は、「管理者」のように(コンボボックスから選択した値を取得できますか

Name | Value       | Type 

x | "UI.WebServiceReference.Users" | string 

)、バインドされた要素のタイプではありませんか?

+1

あなたのxamlを投稿してください。 –

答えて

3

DisplayMemberPathを表示していて、ComboBox定義でSelectedValuePathで値として設定した名前を持つ場合は、SelectedItemではなくSelectedValueを使用できます。 SelectedItemはItemsCollectionの項目を返し、SelectedValueはバインドされた項目のプロパティを返します。

はここに例を示します

あなたが選択した値になりたい ComboBox adminにまたは任意のプロパティの SelectedValuePathを設定する必要が
<ComboBox Name="employees" 
     ItemsSource="{Binding Source={StaticResource Employees}}" 
     ItemTemplate="{StaticResource EmployeeItemTemplate}" 
     SelectedValuePath="EmployeeUsername"/> 
+0

私は 'SelectedItem'と' SelectedValue'の両方を試しました。彼らは私に同じ結果を与える。 –

+0

ありがとうございます、SelectedValuePathをxamlに追加した後に動作します。 –

2

+0

「SelectedValuePath」は私がコンボボックスで何かを選んだとしても私に与えてくれます –

関連する問題