1. Does your XAML code contain a DataContext statement that references your VM?
<window ...="">
<grid>DataContext="{StaticResource vm}">
</grid>
</window>
2. Does your VM implement the INotifyPropertyChanged interface?
class FooVM : INotifyPropertyChanged
{
#region Implementation of INotifyPropertyChanged
public event PropertyChangedEventHandler PropertyChanged;
#endregion
}
3. After each change to dgShow, are you calling the PropertyChanged event handler with the XAML name of dgShow?
public void NotifyPropertyChanged(string propertyName = "")
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
The XAML model separates the display model from the underlying data model. Not only must the data model be notified when the display is changed, but the display must be notified when the data model is changed.