using System.ComponentModel;
using System.Runtime.CompilerServices;
Someclass a = new Someclass();
BikeStore b = new BikeStore(a);
Shopper c = new Shopper(a);
a.SelectedItem = default;
public class Someclass : INotifyPropertyChanged
private static object _selectedItem;
public object SelectedItem
get => _selectedItem ?? new object();
OnPropertyChange(nameof(SelectedItem));
private void OnPropertyChange([CallerMemberName] string propertyName = null)
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
public event PropertyChangedEventHandler PropertyChanged;
public BikeStore(Someclass someClass)
someClass.PropertyChanged += BikeStore_PropertyChanged;
private void BikeStore_PropertyChanged(object sender, PropertyChangedEventArgs e)
Console.WriteLine(nameof(BikeStore_PropertyChanged));
public Shopper(Someclass someClass)
someClass.PropertyChanged += Shopper_PropertyChanged;
private void Shopper_PropertyChanged(object sender, PropertyChangedEventArgs e)
Console.WriteLine(nameof(Shopper_PropertyChanged));