Если я правильно понял проблему, то должно работать следующее:
Свяжите свойство кнопки IsEnabled со свойством в модели представления.
<Button Name="grdBtnAdd" IsEnabled="{Binding IsNewRecordsAvailable}" Cursor="Hand" Click="Button_Click_1" Width="20" Height="20">
...
</Button>
Установите viewModel как dataContext представлений:
Sub New()
Me.Datacontext = new viewModel
End Sub
viewModel будет реализовывать INotifyPropertyChanged, и свойство будет выглядеть так:
Private m_isNewRecordsAvailable As Boolean
Public Property IsNewRecordsAvailable() As Boolean
Get
Return m_isNewRecordsAvailable
End Get
Set(ByVal value As Boolean)
m_isNewRecordsAvailable = value
NotifyPropertyChanged("IsNewRecordsAvailable")
End Set
End Property
Теперь, когда вы хотите включить или отключить кнопку, просто установите для IsNewRecordsAvailable значение true или false.
Вот еще несколько примеров:
http://msdn.microsoft.com/en-us/library/ms229614.aspx
http://www.codeproject.com/KB/cs/BindBetterINotifyProperty.aspx