Да, когда вы связываетесь со вспомогательным свойством объекта, вам необходимо событие PropertyChanged этого конкретного свойства, чтобы цель могла обновить его значение.
В вашем примере ItemsSource необходимо вызвать событие PropertyChanged свойства SourceCollection.
То, что вы можете сделать, это привязать к ItemsSource, который будет запущен, а затем в вашем конвертере использовать значение Sourcecollection.
например:
<sdk:DataGrid Name="dg" ItemsSource="{Binding}" AutoGenerateColumns="True" VerticalAlignment="Top"/>
<TextBox Text="{Binding ElementName=dg, Path=ItemsSource.Count}" VerticalAlignment="Bottom" HorizontalAlignment="Right"/>
код:
_items = new ObservableCollection<SomeClass>();
_items.Add(new SomeClass() { Name = "a" });
_items.Add(new SomeClass() { Name = "b" });
_items.Add(new SomeClass() { Name = "c" });
DataContext = _items;
private void testButton_Click(object sender, RoutedEventArgs e)
{
_items.Add(new SomeClass(){Name = "ha"});
}