简体   繁体   中英

Getting Text from ComboBox in WPF

I have a ComboBox in WPF and I cant access its selected item text.

I have tried

cbItem.Text;
cbItem.SelectedItem.ToString();

XAML:

<ComboBox Name="cbItem" SelectedValuePath="ITEM_ID">
     <ComboBox.ItemTemplate>
          <DataTemplate>
               <TextBlock Text="{Binding ITEM_NAME}" />
          </DataTemplate>
     </ComboBox.ItemTemplate>
</ComboBox>

ITEM_IDITEM_NAME是否来自某个对象?

String textComboBox = ((ITEMCLASS)cbItem.SelectedItem).ITEM_NAME.ToString();

Try

 cbItem.SelectedValue.ToString()

This will work only if combobox values are same as the combobox text

EDIT:

Solution 1

You have to get access to the ComboBox's TextBox:

var str = (TextBox)cbItem.Template.FindName("PART_EditableTextBox", cbItem);

Then you can access the SelectedText property of that TextBox:

var selectedText = str.SelectedText; // This will give you text of selected item

Solution 2

ComboBoxItem typeItem = (ComboBoxItem)cbItem.SelectedItem;

string value = typeItem.Content.ToString();// This will give you text of selected item

Try this

<ComboBox Name="cbItem" SelectedValuePath="ITEM_ID">
 <ComboBox.ItemTemplate>
      <DataTemplate>
           <TextBlock Name="txtblck" Text="{Binding ITEM_NAME}" />
      </DataTemplate>
 </ComboBox.ItemTemplate>

TextBox str = (TextBox)cbItem.FindName("txtblck");

string text = str.Text;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM