Ответ 1
Вам нужно передать его в тип ComboBoxItem
.
var selectedTag = ((ComboBoxItem)ExpireAfterTimeComboBox.SelectedItem).Tag.ToString();
У меня есть combobox:
<ComboBox Name="ExpireAfterTimeComboBox" Margin="5" SelectedIndex="0">
<ComboBoxItem Content="15 minutes" Tag="15" />
<ComboBoxItem Content="30 minutes" Tag="30" />
<ComboBoxItem Content="1 hour" Tag="60" />
<ComboBoxItem Content="1 day" Tag="1440" />
</ComboBox>
Как получить значение тега в коде?
запись чего-то типа ExpireAfterTimeComboBox.SelectedItem.Tag
не работает.
Вам нужно передать его в тип ComboBoxItem
.
var selectedTag = ((ComboBoxItem)ExpireAfterTimeComboBox.SelectedItem).Tag.ToString();
Если вы можете изменить объявление Combobox на следующее:
<Combobox Name="ExpireAfterTimeComboBox" Margin="5" SelectedValuePath="Tag">
<ComboBoxItem Content="15 minutes" Tag="15" IsSelected="True" />
<ComboBoxItem Content="30 minutes" Tag="30" />
<ComboBoxItem Content="1 hour" Tag="60" />
<ComboBoxItem Content="1 day" Tag="1440" />
</Combobox>
Вы можете получить тег следующим образом:
var selectedTag = ExpireAfterTimeComboBox.SelectedValue;
Try
string str = ((ComboBoxItem)this.ExpireAfterTimeComboBox.SelectedItem).Tag.ToString();
в SelectionChanged
обработчике событий или в любой функции или обработчике событий.