Как установить значение silverlight comboboxitem в xaml

#silverlight #combobox

#silverlight #combobox

Вопрос:

Я создаю datatemplate для combobox следующим образом:

 <DataTemplate x:Key="AircraftTypeTemplate">
     <StackPanel Orientation="Horizontal" Width="340">
           <ComboBox>
               <ComboBoxItem>CJ1</ComboBoxItem>
               <ComboBoxItem>CJ3</ComboBoxItem>
               <ComboBoxItem>Bravo</ComboBoxItem>
               <ComboBoxItem>Excel</ComboBoxItem>
               <ComboBoxItem>Sovereign</ComboBoxItem>
           </ComboBox>
     </StackPanel>
</DataTemplate>
 

Он отображается нормально, но я хотел бы иметь возможность связывать значение с каждым из элементов без необходимости привязывать его к какому-либо контексту данных. Например, я хотел бы, чтобы элемент comboboxitem CJ1 имел значение 5. Как бы я установил их в XAML?

Нравится:

 <ComboBoxItem Value="5">CJ1</ComboBoxItem>
 

Спасибо!

Ответ №1:

Вы можете установить Name свойство в качестве любой произвольной строки и использовать его. Для большей гибкости вы можете использовать Tag свойство, которое в соответствии с MSDN:

Возвращает или задает произвольное значение объекта, которое может использоваться для хранения пользовательской информации об этом объекте.

Подробнее об этом можно прочитать Tag здесь. Tag Я бы сказал, что, вероятно, лучше, чем подчиняться вашей воле, и вы можете вставить строку так же легко, как . Name Tag Name

Комментарии:

1. Спасибо! Еще одна вещь: как бы я привязал SelectedValue из combobox к тегу?

2. Нет проблем. Привязка SelectedValue к Tag будет выглядеть <ComboBox SelectedValuePath="Tag" /> следующим образом.

3. Сработало как шарм — спасибо!