This is only a guess since I cannot run the code with what little you have provided, but have you tried the following:
viewDataContext dc_view = new viewDataContext();
var view_query = from e_view in dc_view.user_views select e_view;
data_grid.ItemsSource = view_query;
var linq_view = CollectionViewSource.GetDefaultView(view_query);
linq_view.Filter = new Predicate<object>((o) => ((user_view)o).name.StartsWith("Scott"));.
I run the following and it works:
var tests = new[] { new test { Name = "a" }, new test { Name = "b" }, new test { Name = "ab" }, new test { Name = "bb" } };
ICollectionView linq_view = CollectionViewSource.GetDefaultView(tests);
linq_view.Filter = new Predicate<object>(o => ((test)o).Name.StartsWith("a"));
It may be that using the ItemsSource as the argument is causing you the problems.