0

MVVM デザイン パターンを使用して、WPF コンボボックス ItemsSource をコレクションにバインドしようとしています。以下は私のコードです

XAML:

<ComboBox Height="30" Width="200" ItemsSource="{Binding PeopleList,Mode=TwoWay}"></ComboBox>
<TextBlock Height="Auto" Width="Auto" Text="{Binding SelectedPerson.ContactNo}"></TextBlock>

コードビハインド:

public MainWindow()
        {
            InitializeComponent();
            ViewModel vm = new ViewModel();
            DataContext = vm;
        }

モデル クラス :

class People : INotifyPropertyChanged
    {
        private string name;

        public string Name
        {
            get { return name; }
            set
            {
                name = value;
                NotifyPropertyChanged("Name");
            }
        }

        private string contactNo;

        public string ContactNo
        {
            get { return contactNo; }
            set
            {
                contactNo = value;
                NotifyPropertyChanged("ContactNo");
            }

        }

        private ObservableCollection<People> peopleList;

        public ObservableCollection<People> PeopleList
        {
            get { return peopleList; }
            set
            {
                peopleList = value;
                NotifyPropertyChanged("PeopleList");
            }
        }

        private People selectedPerson;

        public People SelectedPerson
        {
            get { return selectedPerson; }
            set
            {
                selectedPerson = value;
                NotifyPropertyChanged("SelectedPerson");
            }
        }




        public event PropertyChangedEventHandler PropertyChanged;

        protected void NotifyPropertyChanged(string propertyName)
        {
            if (PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }

ViewModel クラス:

class ViewModel
           {
        ObservableCollection<People> PeopleList = null;
        public ViewModel()
        {
            PeopleList = new ObservableCollection<People>();
            People p1 = new People { Name = "Naresh", ContactNo = "9574733355" };
            People p2 = new People { Name = "Ritesh", ContactNo = "9099028779" };
            People p3 = new People { Name = "Saumya", ContactNo = "9904848779" };

            PeopleList.Add(p1);
            PeopleList.Add(p2);
            PeopleList.Add(p3);

            People People = new People();
            People.PeopleList = PeopleList;

        }

だから、これは私がこれまでやってきたことです。ここで、私が直面している問題は、コンボ ボックスをクリックしても何も起こらないことです。

事前にご協力いただきありがとうございます。

4

2 に答える 2