Привязка элементов в ComboBox

198
24 апреля 2018, 00:51

Не могу понять, где у меня ошибка с привязкой элементов к 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, но названия элементов не видно.

READ ALSO
C# WPF запрет запуска копий приложения

C# WPF запрет запуска копий приложения

как запретить запуск новых копий приложения? если оно уже запущено то фокус на окно или развернуть

225
Использование сервисов в ASP.NET MVC

Использование сервисов в ASP.NET MVC

Есть задание, в котором необходимо написать Интернет магазин с использованием технологии ASPNET MVC

191
ASP NET MVC и статическая коллекция

ASP NET MVC и статическая коллекция

Пользователи обращаются на сайтКонтроллеры используют async/await

166
Почему WPF зарезает элементы?

Почему WPF зарезает элементы?

Дизайнер все красиво показывает:

216