---
title: "INotifyPropertyChanged - Muhammad Rehan Saeed"
description: "Blog posts authored by Muhammad Rehan Saeed about INotifyPropertyChanged."
canonical_url: "https://rehansaeed.com/tag/i-notify-property-changed/"
meta:
  author: "Muhammad Rehan Saeed"
  "og:description": "Blog posts authored by Muhammad Rehan Saeed about INotifyPropertyChanged."
  "og:image": "https://rehansaeed.com/_og/s/o_b7486d0539426c0c.png"
  "og:image:alt": "# INotifyPropertyChanged - Muhammad Rehan Saeed"
  "og:image:height": "630"
  "og:image:type": image/png
  "og:image:width": "1200"
  "og:title": INotifyPropertyChanged
  "twitter:image": "https://rehansaeed.com/_og/s/o_b7486d0539426c0c.png"
  "twitter:image:alt": "# INotifyPropertyChanged - Muhammad Rehan Saeed"
---

> Index of every page on this site: [llms.txt](https://rehansaeed.com/llms.txt)

# [# INotifyPropertyChanged](https://rehansaeed.com/tag/i-notify-property-changed/)

## [C# 6.0 - Saving Developers From Themselves](https://rehansaeed.com/c-6-0-saving-developers-from-themselves/)

C# 6.0 helps reduce human error and save developers from themselves using the nameof operator, string interpolation and the null-conditional operator.

Posted 10 May 2015 - **5 min read**

## [Model-View-ViewModel (MVVM) - Part 4 - INotifyDataErrorInfo](https://rehansaeed.com/model-view-viewmodel-mvvm-part4-inotifydataerrorinfo/)

An base class implementation for the INotifyDataErrorInfo interface. Used in the Model-View-ViewModel (MVVM) pattern. Targeted for best performance.

Posted 9 September 2014 - **12 min read**

## [Model-View-ViewModel (MVVM) - Part 3 - INotifyPropertyChanged](https://rehansaeed.com/model-view-viewmodel-mvvm-part3-inotifypropertychanged/)

An base class implementation for the INotifyPropertyChanged interface. Used in the Model-View-ViewModel (MVVM) pattern. Targeted for best performance.

Posted 18 June 2014 - **11 min read**

## [Model-View-ViewModel (MVVM) - Part 1 - Overview](https://rehansaeed.com/model-view-viewmodel-mvvm-part1-overview/)

What really goes into using Model-View-ViewModel (MVVM) in .NET. Base classes for INotifyPropertyChanged, INotifyDataErrorInfo, IDisposable and a lot more.

Posted 14 May 2014 - **5 min read**

## [Reactive Extensions (Rx) - Part 2 - Wrapping C# Events](https://rehansaeed.com/reactive-extensions-part2-wrapping-events/)

Reactive Extensions IObservable wrappers for C# events and hiding the C# events entirely from subscribers using explicit interface implementations.

Posted 13 February 2014 - **3 min read**

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://rehansaeed.com/#website","@type":"WebSite","description":"Software Developer at Microsoft, YouTuber, Open Source Contributor and Blogger","inLanguage":"en-GB","name":"Muhammad Rehan Saeed","url":"https://rehansaeed.com/","author":{"@id":"https://rehansaeed.com/#identity"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://rehansaeed.com/?search={search_term_string}"},"query-input":"required name=search_term_string"}],"publisher":{"@id":"https://rehansaeed.com/#publisher"}},{"@id":"https://rehansaeed.com/tag/i-notify-property-changed/#webpage","description":"Blog posts authored by Muhammad Rehan Saeed about INotifyPropertyChanged.","name":"INotifyPropertyChanged","url":"https://rehansaeed.com/tag/i-notify-property-changed/","@type":["WebPage","CollectionPage"],"breadcrumb":{"@id":"https://rehansaeed.com/tag/i-notify-property-changed/#breadcrumb"},"isPartOf":{"@id":"https://rehansaeed.com/#website"},"potentialAction":[{"@type":"ReadAction","target":["https://rehansaeed.com/tag/i-notify-property-changed/"]}]},{"@id":"https://rehansaeed.com/#identity","@type":"Person","name":"Muhammad Rehan Saeed","url":"https://rehansaeed.com/about/","image":{"@id":"https://rehansaeed.com/#/schema/image/1"},"sameAs":["https://github.com/RehanSaeed","https://www.linkedin.com/in/muhammad-rehan-saeed","https://stackoverflow.com/users/1212017/muhammad-rehan-saeed","https://www.youtube.com/c/MuhammadRehanSaeed","https://www.twitch.tv/rehansaeeduk"]},{"@id":"https://rehansaeed.com/#publisher","@type":"Organization","logo":"https://rehansaeed.com/images/schema/Publisher-600x60.png","name":"Muhammad Rehan Saeed","url":"https://rehansaeed.com"},{"@id":"https://rehansaeed.com/tag/i-notify-property-changed/#/schema/item-list/1","@type":"ItemList","itemListElement":[{"@type":"ListItem","name":"C# 6.0 - Saving Developers From Themselves","url":"https://rehansaeed.com/c-6-0-saving-developers-from-themselves/","position":1},{"@type":"ListItem","name":"Model-View-ViewModel (MVVM) - Part 4 - INotifyDataErrorInfo","url":"https://rehansaeed.com/model-view-viewmodel-mvvm-part4-inotifydataerrorinfo/","position":2},{"@type":"ListItem","name":"Model-View-ViewModel (MVVM) - Part 3 - INotifyPropertyChanged","url":"https://rehansaeed.com/model-view-viewmodel-mvvm-part3-inotifypropertychanged/","position":3},{"@type":"ListItem","name":"Model-View-ViewModel (MVVM) - Part 1 - Overview","url":"https://rehansaeed.com/model-view-viewmodel-mvvm-part1-overview/","position":4},{"@type":"ListItem","name":"Reactive Extensions (Rx) - Part 2 - Wrapping C# Events","url":"https://rehansaeed.com/reactive-extensions-part2-wrapping-events/","position":5}]},{"@id":"https://rehansaeed.com/tag/i-notify-property-changed/#breadcrumb","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","name":"Blog","item":"https://rehansaeed.com/","position":1},{"@type":"ListItem","name":"INotifyPropertyChanged","item":"https://rehansaeed.com/tag/i-notify-property-changed/","position":2}]},{"@id":"https://rehansaeed.com/#/schema/image/1","@type":"ImageObject","contentUrl":"https://rehansaeed.com/images/author/Muhammad-Rehan-Saeed/Logo-512x512.png","inLanguage":"en-GB","url":"https://rehansaeed.com/images/author/Muhammad-Rehan-Saeed/Logo-512x512.png"}]}
```

## Sitemap

See the full [sitemap](https://rehansaeed.com/sitemap.md) for all pages.
