Не могу понять, где у меня ошибка с привязкой элементов к ComboBox
.
Вот такая XAML разметка элемента:
<ComboBox x:Name="projectBox" Width="120" RenderTransformOrigin="1.681,1.246" Margin="210,84,476,378" ItemsSource="{Binding Projects}" DisplayMemberPath="ProjectName"/>
В классе:
MainWindow объявлено
свойство
public ObservableCollection<ProjectInfo> Projects { get; set; }
По нажатию на кнопку вызывается метод, который что-то делает и присваивает этому свойству реальную коллекцию элементов.
В дебаггере я перепроверил и там есть элементы, но по факту в ComboBox ниего не отображается.
Где я ошибся?
UPD
Переделал все вот в такой вид:
XAML:
<ComboBox x:Name="projectBox" Margin="210,84,408,378" ItemsSource="{Binding Projects}" DisplayMemberPath="ProjectName"/>
public MainWindow()
{
InitializeComponent();
ProjectView pv = new ProjectView();
DataContext = pv;
}
Вьюха:
public class ProjectView : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
ObservableCollection<ProjectInfo> _projects;
public ObservableCollection<ProjectInfo> Projects
{
get => _projects;
set
{
_projects = value;
OnPropertyChanged("Projects");
}
}
public ProjectView()
{
Projects = new ObservableCollection<ProjectInfo>
{
new ProjectInfo() {ProjectId = 1, ProjectName = "123"},
new ProjectInfo() {ProjectId = 2, ProjectName = "123"}
};
}
protected virtual void OnPropertyChanged(string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
Есть 2 элемента в ComboBox, но названия элементов не видно.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
как запретить запуск новых копий приложения? если оно уже запущено то фокус на окно или развернуть
Есть задание, в котором необходимо написать Интернет магазин с использованием технологии ASPNET MVC
Пользователи обращаются на сайтКонтроллеры используют async/await