MVVM Support
The assembly in which RadDataServiceDataSource is located contains a class named QueryableDataServiceCollectionView<T>. This is the collection view that the control uses internally. The only functionality that the control adds over this collection view is XAML-friendly API.
In case you are strictly following the MVVM pattern and you cannot embed an UI control inside your view model, you can use the QueryableDataServiceCollectionView<T> class. Like RadDataServiceDataSource, the QueryableDataServiceCollectionView<T> needs a DataServiceContext and a DataServiceQuery<T> to be constructed.
The examples in this article are based on the setup from the Creating the Client Application and Creating the Data-bound Controls article.
The QueryableDataServiceCollectionView<T> class has the same API as the RadDataServiceDataSource control so all operations are performed in the same way as with RadDataServiceDataSource. In fact, the public API of the control simply exposes the public API of its inner collection view, which is the one that really does the job.
Example 1 demonstrates how to set up your viewmodel to use the QueryableDataServiceCollectionView class.
Example 1: Creating the viewmodel class
You can then set up your data controls in the same way you would if you were using the RadDataServiceDataSource control.