Let us say we have a data object which contains two values *CompanyID* and *Price*. Also I have more than one control which depending on *CompanyID* should update *Price*.

There are four grids with same layout each layout contains a `<TextBlock/>` control in it. All controls share same variable (*Price*). If I put `<TextBlock Text="{Binding Price}"/>` in each of four layouts same value will be updated on every single control. It should update only one `<TextBlock/>` depending on *CompanyID* given. Prices will be updated at the runtime.

In modelView constructor:

```
PriceObj = new Model(CompanyID, Price);

```

Object will be stored in a property (PriceObj) which is owned by modelView.

What would be the best practice to distinguish which control should update *Price* value regarding *CompanyID* value?

Would it be better to create a different *Price* for each company, let us say *Price0*, *Price1* and then accessing those values directly via DataBinding in XAML?

Can distinguish be made within `INotifyPropertyChanged` interface implementation?

Note: I do not want the easiest way, I want most MVVM pattern suited way. Code example would be much appreciated.