Обновление: Я обновил код, основываясь на вашей помощи, и до сих пор не повезло. Когда приложение загружается, ListBox не имеет элементов. Я назначаю нежелательные значения для клиентов в конструкторе окон, а затем также пытаюсь установить DataBtext ListBox следующим образом:
CustomerList.DataContext = Customers;
--- Оригинальный вопрос (с обновленным кодом) ---
У меня проблемы с привязкой данных в проекте WPF.
У меня есть класс Customer, следующий:
public class Customer
{
public String Name { get; set; }
public String Email { get; set; }
}
В коде моего XAML у меня есть следующая коллекция клиентов:
public List<Customer> Customers { get; set; }
Я пытаюсь привязать каждого клиента к ListBox с помощью ListItemTemplate, отображающего информацию о клиенте (имя / адрес электронной почты) в TextBoxes вместе с кнопкой, которая блокирует / разблокирует TextBoxes (устанавливает для свойства IsEnabled значение true или false).
Какой лучший способ сделать это?
Пока я пытался следовать ему безуспешно.
В XAML в настоящее время у меня есть следующее (пока игнорируя часть переключателя, я просто пытаюсь внести саму коллекцию в список):
<Window.Resources>
<CollectionViewSource x:Key="Customers" Source="{Binding Path=Customers, Mode=TwoWay}"/>
<DataTemplate x:Key="Customer">
<StackPanel Orientation="Horizontal">
<TextBox Content="{Binding Name}" />
<TextBox Content="{Binding Email}" />
</StackPanel>
</DataTemplate>
</Window.Resources>
<StackPanel>
<ListBox ItemsSource="{Binding Source={StaticResource Customers}}"
ItemTemplate="{StaticResource ResourceKey=Customer}"
Name="CustomerList"
Height="300" />
</StackPanel>