# Привязка (Binding). Интерфейс INotifyPropertyChanged. Форматирование значений привязки и конвертеры значений. ## Введение в привязку данных ``` ``` ![](./img/Снимок%20экрана%202024-04-23%20010935.png) ## Работа с привязкой в C# ``` public MainWindow() { InitializeComponent(); Binding binding = new Binding(); // элемент-источник binding.ElementName = "myTextBox"; // свойство элемента-источника binding.Path = new PropertyPath("Text"); // установка привязки для элемента-приемника myTextBlock.SetBinding(TextBlock.TextProperty, binding); } ``` ![](./img/Снимок%20экрана%202024-04-23%20012626.png) ## Режимы привязки ``` ``` ![](./img/Снимок%20экрана%202024-04-23%20011715.png) ## Свойство Source ``` class Phone { public string Title { get; set; } public string Company { get; set; } public int Price { get; set; } } ``` ``` ``` ![](./img/Снимок%20экрана%202024-04-23%20013928.png) ## Свойство TargetNullValue ``` ``` ![](./img/Снимок%20экрана%202024-04-23%20013928.png) ## Свойство RelativeSource ``` ``` ![](./img/Снимок%20экрана%202024-04-23%20014452.png) ``` ``` ![](./img/Снимок%20экрана%202024-04-23%20014616.png) ## Свойство DataContext ``` ``` ![](./img/Снимок%20экрана%202024-04-23%20013928.png) ## Интерфейс INotifyPropertyChanged. ```