Если вам известен индекс элемента, который вы хотите установить, в этом случае похоже, что вы пытаетесь установить индекс 1
, вы просто делаете:
cbTheme.SelectedIndex = 1;
Я обнаружил, что когда вы не знаете индекс, именно тогда у вас возникает реальная проблема. Я знаю, что это выходит за рамки первоначального вопроса, но для тех Google, которые хотят знать, как установить элемент, когда индекс неизвестен, но значение, которое вы хотите отобразить, известно, если вы заполняете свой раскрывающийся список знаком * Например, 1005 * из DataTable
, вы можете получить этот индекс, выполнив следующее:
int matchedIndex = 0;
if (dt != null & dt.Rows != null)
{
if (dt.Rows.Count > 0)
{
foreach (DataRow dr in dt.Rows)
{
string myRowValue = dr["SOME_COLUMN"] != null ? dr["SOME_COLUMN"].ToString() : String.Empty;
if (myRowValue == "Value I Want To Set")
break;
else
matchedIndex++;
}
}
}
И тогда вы просто делаете cbTheme.SelectedIndex = matchedIndex;
.
Аналогичная итерация ComboBoxItem
элементов вместо DataRow
строк может дать аналогичный результат, если вместо этого заполнить ComboBox
, как показывает OP.