Подписаться на изменение свойства

95
25 июня 2021, 11:20

У меня есть созданный UserControl. Несколько его экземпляров я добавляю на MainWindow. Передо мной стоит задача: все экземпляры этого UserControl уведомить об изменении свойства в одном из этих UserControl'ов.

Если быть точнее, то на UserControl есть TextBlock, при нажатии на него, Foregraund становится белым, а все остальные TextBlock'и на всех остальных UserControl'ах должны стать серыми.

Не знаю как реализовать. Буду благодарен любой помощи.

P.S.

        private SolidColorBrush selectedColor = new SolidColorBrush(Colors.White);
        private SolidColorBrush notSelectedColor = new SolidColorBrush(Color.FromArgb(255,144, 161, 169));
        private bool _isSelected;
        public bool IsSelected
        {
            get { return _isSelected; }
            set
            {
                _isSelected = value;
                if(IsSelected)
                      //Уведомить
                txb.Foreground = IsSelected ? selectedColor : notSelectedColor;
                OnPropertyChanged("IsSelected");
            }
        }
        private string _text;
        public string Text
        {
            get { return _text; }
            set
            {
                _text = value;
                OnPropertyChanged("Text");
            }
        }
        public SettingsTreeViewTitle()
        {
            InitializeComponent();
            DataContext = this;
        }
        public event PropertyChangedEventHandler PropertyChanged;
        [NotifyPropertyChangedInvocator]
        protected virtual void OnPropertyChanged(string propertyName)
        {
            var handler = PropertyChanged;
            if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
        }
        private void SettingsTreeViewTitle_OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            IsSelected = true;
        }
    }
READ ALSO
Многопоточность в в C# и WPF

Многопоточность в в C# и WPF

Как реализовать многопоточность в WPF? Нужно сделать программу, которая при поступлении данных на COM порт меняет видео в программе на другое,...

85
Пустой NuGet пакет при скачивании

Пустой NuGet пакет при скачивании

Развернул свой Nuget Server на удаленном хостеТакже собрал два NuGet пакета и добавил их напрямую в репозиторий сервера, и выкладываю сервак вместе...

96
Как подебажить аутентификацию на ASP?

Как подебажить аутентификацию на ASP?

Пытаюсь настроить JWT аутентификацию на AspNet Core

105