This may be something covered in C# 101 but I haven\'t been able to find an easy to understand answer to this question anywhere on google or stack overflow. Is there a bett
It looks like you have ComboBoxItems in your ComboBox, so that SelectedValue is returning a ComboBoxItem and ToString is therefore returning something like ComboBox SomeValue
.
If that's the case, you can get the content using ComboBoxItem.Content:
ComboBoxItem selectedItem = (ComboBoxItem)(test_site.SelectedValue);
string value = (string)(selectedItem.Content);
However, a better approach is, instead of populating the ComboBox with a collection of ComboBoxItems, to set ComboBox.ItemsSource to the desired collection of strings:
test_site.ItemsSource = new string[] { "Alice", "Bob", "Carol" };
Then SelectedItem will get you the currently selected string directly.
string selectedItem = (string)(test_site.SelectedItem);
On load events put
DependencyPropertyDescriptor dpd = DependencyPropertyDescriptor.FromProperty(ComboBox.TextProperty, typeof(ComboBox));
dpd.AddValueChanged(cmbChungChi, OnTextChanged);
And get text via funtion
private void OnTextChanged(object sender, EventArgs args)
{
txtName.Text = cmbChungChi.Text;
}
Good luck.