Я пытался искать это вверх и вниз, но ничего не могу найти. У меня есть выпадающий список. Представление списка связано со списком объектов, доступных через контроллер, с которым связан текстовый текст. Одним из свойств элементов в списке является строка. Я пытаюсь связать это значение с тем, что находится в выпадающем списке.
Вот фрагмент моего списка
<ListView ItemsSource="{Binding Path=OrderLines}" >
<ListView.View>
<GridView>
<GridViewColumn Header="Item Type" Width="Auto">
<GridViewColumn.CellTemplate>
<DataTemplate>
<ComboBox Width="100" SelectedItem="{Binding Path=LineType,ValidatesOnDataErrors=True}" >
<ComboBoxItem>Type1</ComboBoxItem>
<ComboBoxItem>Type2</ComboBoxItem>
<ComboBoxItem>Type3</ComboBoxItem>
<ComboBoxItem>Type4</ComboBoxItem>
</ComboBox>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
В контроллере у меня есть свойство OrderLines, подобное
private List<OrderLine> orderLines;
public List<OrderLine> OrderLines
{
get { return orderLines; }
set
{
if (value == orderLines)
return;
orderLines= value;
OnPropertyChanged("OrderLines");
}
}
И у OrderLine есть свойство LineType, представляющее собой строку, содержащую значение.
private string lineType;
public string LineType
{
get { return lineType; }
set
{
lineType= value;
OnPropertyChanged("LineType ");
}
}
Может ли кто-нибудь помочь объяснить, почему выбранный элемент / значение не устанавливается. Это как-то связано с тем, что мой контент жестко закодирован? Спасибо за вашу помощь.