En este caso, usted debería ser capaz de utilizar simplemente .Text()
para configurarlo:
cmbBudgetYear.Text = "2010";
Para obtener el valor después de un cambio, sin embargo, y tal vez es porque no me puse SelectedValuePath="Content"
en todas partes, o tal vez porque no usé SelectedValue
para configurarlo (y por qué lo menciono), se vuelve un poco más complicado determinar el valor real, ya que tienes que hacer esto después de agregar el controlador de eventos para SelectionChanged
en el XAML:
private void cmbBudgetYear_SelectionChanged(object sender, EventArgs e)
{
ComboBox cbx = (ComboBox)sender;
string yourValue = String.Empty;
if (cbx.SelectedValue == null)
yourValue = cbx.SelectionBoxItem.ToString();
else
yourValue = cboParser(cbx.SelectedValue.ToString());
}
Cuando se necesita un analizador porque .SelectedValue.ToString()
le dará algo así como System.Windows.Controls.Control: 2010
, así que hay que analizar a cabo para obtener el valor:
private static string cboParser(string controlString)
{
if (controlString.Contains(':'))
{
controlString = controlString.Split(':')[1].TrimStart(' ');
}
return controlString;
}
Al menos, esto es lo que me encontré .... Sé que esto La pregunta era sobre la configuración de la caja, pero no puede abordar solo la configuración sin hablar de cómo obtenerla, más tarde, también, ya que la forma en que la configuró determinará cómo la obtendrá si se cambia.
Haha ... SelectedValuePath = "Contenido" was it. ¡Gracias! – knockando
Excelente respuesta, me ayudó también. – Califf