DomainDataSource Class
[WCF RIA Services Version 1 Service Pack 2 is compatible with either .NET framework 4 or .NET Framework 4.5, and with either Silverlight 4 or Silverlight 5.]
Provides an object for loading, filtering, grouping, and sorting data collections.
System.Windows.DependencyObject
System.Windows.UIElement
System.Windows.FrameworkElement
System.Windows.Controls.Control
System.Windows.Controls.DomainDataSource
Namespace: System.Windows.Controls
Assembly: System.Windows.Controls.DomainServices (in System.Windows.Controls.DomainServices.dll)
[TemplateVisualStateAttribute(Name = "Unchanged", GroupName = "ChangeStates")] [TemplateVisualStateAttribute(Name = "Changed", GroupName = "ChangeStates")] [TemplateVisualStateAttribute(Name = "Normal", GroupName = "CommonStates")] [TemplateVisualStateAttribute(Name = "Disabled", GroupName = "CommonStates")] [TemplateVisualStateAttribute(Name = "Idle", GroupName = "ActivityStates")] [TemplateVisualStateAttribute(Name = "Loading", GroupName = "ActivityStates")] [TemplateVisualStateAttribute(Name = "Submitting", GroupName = "ActivityStates")] public class DomainDataSource : Control
The DomainDataSource type exposes the following members.
| Name | Description | |
|---|---|---|
|
ActualHeight | (Inherited from FrameworkElement.) |
|
ActualWidth | (Inherited from FrameworkElement.) |
|
AllowDrop | (Inherited from UIElement.) |
|
AutoLoad | Gets or sets a value indicating whether Load is automatically invoked when a change occurs that impacts the query composed by the DomainDataSource. |
|
Background | (Inherited from Control.) |
|
BorderBrush | (Inherited from Control.) |
|
BorderThickness | (Inherited from Control.) |
|
CacheMode | (Inherited from UIElement.) |
|
CanLoad | Gets a value indicating whether the control can perform a load operation based on the present state. |
|
Clip | (Inherited from UIElement.) |
|
Cursor | (Inherited from FrameworkElement.) |
|
Data | Gets the entities resulting from the last load operation, as an IEnumerable. |
|
DataContext | (Inherited from FrameworkElement.) |
|
DataView | Gets the current view of entities resulting from the last load operation, using a DomainDataSourceView. |
|
DefaultStyleKey | (Inherited from Control.) |
|
DesignData | Gets or sets the data to use at design time. |
|
DesiredSize | (Inherited from UIElement.) |
|
Dispatcher | (Inherited from DependencyObject.) |
|
DomainContext | Gets or sets the DomainContext instance used for executing the load and submit operations. |
|
FilterDescriptors | Gets the collection of FilterDescriptor objects used when performing loads. |
|
FilterOperator | Gets or sets the logical operator used for combining FilterDescriptor objects in the filters collection. |
|
FlowDirection | (Inherited from FrameworkElement.) |
|
FontFamily | (Inherited from Control.) |
|
FontSize | (Inherited from Control.) |
|
FontStretch | (Inherited from Control.) |
|
FontStyle | (Inherited from Control.) |
|
FontWeight | (Inherited from Control.) |
|
Foreground | (Inherited from Control.) |
|
GroupDescriptors | Gets the collection of grouping objects that are used to organize the data into groups. |
|
HasChanges | Gets a value indicating whether the items exposed by this DomainDataSource have pending changes. |
|
Height | (Inherited from FrameworkElement.) |
|
HorizontalAlignment | (Inherited from FrameworkElement.) |
|
HorizontalContentAlignment | (Inherited from Control.) |
|
IsBusy | Gets a value indicating whether this DomainDataSource is loading data or submitting changes. |
|
IsEnabled | (Inherited from Control.) |
|
IsHitTestVisible | (Inherited from UIElement.) |
|
IsLoadingData | Gets a value indicating whether the DomainDataSource is currently loading data. |
|
IsSubmittingChanges | Gets a value indicating whether the DomainDataSource is currently submitting changes as a result of a call to SubmitChanges. |
|
IsTabStop | (Inherited from Control.) |
|
Language | (Inherited from FrameworkElement.) |
|
LoadCommand | Gets an ICommand that invokes Load on this DomainDataSource. |
|
LoadDelay | Gets or sets the delay before an automatic data loading operation is started. |
|
LoadInterval | Gets or sets the duration between two successive data loading operations in a progressive data loading scenario. |
|
LoadSize | Gets or sets the maximum number of items to load each time a Load is executed. When equal to 0, all requested entities will be loaded. |
|
Margin | (Inherited from FrameworkElement.) |
|
MaxHeight | (Inherited from FrameworkElement.) |
|
MaxWidth | (Inherited from FrameworkElement.) |
|
MinHeight | (Inherited from FrameworkElement.) |
|
MinWidth | (Inherited from FrameworkElement.) |
|
Name | (Inherited from FrameworkElement.) |
|
Opacity | (Inherited from UIElement.) |
|
OpacityMask | (Inherited from UIElement.) |
|
Padding | (Inherited from Control.) |
|
PageSize | Gets or sets the number of items displayed on each page of the view returned from the Data and DataView properties, or 0 to disable paging. |
|
Parent | (Inherited from FrameworkElement.) |
|
Projection | (Inherited from UIElement.) |
|
QueryName | Gets or sets the name of the query to use for loading. |
|
QueryParameters | Gets the collection of Parameter objects representing arguments of the EntityQuery<TEntity> method specified by the QueryName property. |
|
RefreshInterval | Gets or sets the interval between automatic Load operations to refresh the data with any changes that may have occurred on the server. |
|
RejectChangesCommand | Gets an ICommand that invokes RejectChanges on this DomainDataSource. |
|
RenderSize | (Inherited from UIElement.) |
|
RenderTransform | (Inherited from UIElement.) |
|
RenderTransformOrigin | (Inherited from UIElement.) |
|
Resources | (Inherited from FrameworkElement.) |
|
SortDescriptors | Gets the collection of sort descriptor objects that are used to sort the data. |
|
Style | (Inherited from FrameworkElement.) |
|
SubmitChangesCommand | Gets an ICommand that invokes SubmitChanges on this DomainDataSource. |
|
TabIndex | (Inherited from Control.) |
|
TabNavigation | (Inherited from Control.) |
|
Tag | (Inherited from FrameworkElement.) |
|
Template | (Inherited from Control.) |
|
Triggers | (Inherited from FrameworkElement.) |
|
UseLayoutRounding | (Inherited from UIElement.) |
|
VerticalAlignment | (Inherited from FrameworkElement.) |
|
VerticalContentAlignment | (Inherited from Control.) |
|
Visibility | (Inherited from UIElement.) |
|
Width | (Inherited from FrameworkElement.) |
| Name | Description | |
|---|---|---|
|
AddHandler | (Inherited from UIElement.) |
|
ApplyTemplate | (Inherited from Control.) |
|
Arrange | (Inherited from UIElement.) |
|
ArrangeOverride | (Inherited from FrameworkElement.) |
|
CancelLoad | Cancels the current data loading operation performed by this DomainDataSource, if any. |
|
CancelSubmit | Cancels the current submit operation performed by this DomainDataSource, if any. |
|
CaptureMouse | (Inherited from UIElement.) |
|
CheckAccess | (Inherited from DependencyObject.) |
|
Clear | Clears all data from the DomainDataSource and the underlying EntitySet on the DomainContext. |
|
ClearValue | (Inherited from DependencyObject.) |
|
DeferLoad | Used to group multiple data loading operations into a single load operation. |
|
Equals | (Inherited from Object.) |
|
Finalize | (Inherited from Object.) |
|
FindName | (Inherited from FrameworkElement.) |
|
Focus | (Inherited from Control.) |
|
GetAnimationBaseValue | (Inherited from DependencyObject.) |
|
GetBindingExpression | (Inherited from FrameworkElement.) |
|
GetHashCode | (Inherited from Object.) |
|
GetTemplateChild | (Inherited from Control.) |
|
GetType | (Inherited from Object.) |
|
GetValue | (Inherited from DependencyObject.) |
|
InvalidateArrange | (Inherited from UIElement.) |
|
InvalidateMeasure | (Inherited from UIElement.) |
|
Load | Starts a synchronous data loading operation. |
|
Measure | (Inherited from UIElement.) |
|
MeasureOverride | (Inherited from FrameworkElement.) |
|
MemberwiseClone | (Inherited from Object.) |
|
OnApplyTemplate | Builds the visual tree for the DomainDataSource when a new template is applied. (Overrides FrameworkElement.OnApplyTemplate().) |
|
OnCreateAutomationPeer | (Inherited from UIElement.) |
|
OnDoubleTap | (Inherited from Control.) |
|
OnDragEnter | (Inherited from Control.) |
|
OnDragLeave | (Inherited from Control.) |
|
OnDragOver | (Inherited from Control.) |
|
OnDrop | (Inherited from Control.) |
|
OnGotFocus | (Inherited from Control.) |
|
OnHold | (Inherited from Control.) |
|
OnKeyDown | (Inherited from Control.) |
|
OnKeyUp | (Inherited from Control.) |
|
OnLostFocus | (Inherited from Control.) |
|
OnLostMouseCapture | (Inherited from Control.) |
|
OnManipulationCompleted | (Inherited from Control.) |
|
OnManipulationDelta | (Inherited from Control.) |
|
OnManipulationStarted | (Inherited from Control.) |
|
OnMouseEnter | (Inherited from Control.) |
|
OnMouseLeave | (Inherited from Control.) |
|
OnMouseLeftButtonDown | (Inherited from Control.) |
|
OnMouseLeftButtonUp | (Inherited from Control.) |
|
OnMouseMove | (Inherited from Control.) |
|
OnMouseRightButtonDown | (Inherited from Control.) |
|
OnMouseRightButtonUp | (Inherited from Control.) |
|
OnMouseWheel | (Inherited from Control.) |
|
OnTap | (Inherited from Control.) |
|
OnTextInput | (Inherited from Control.) |
|
OnTextInputStart | (Inherited from Control.) |
|
OnTextInputUpdate | (Inherited from Control.) |
|
ReadLocalValue | (Inherited from DependencyObject.) |
|
RejectChanges | Cancels the data changes that were performed by the underlying DomainContext. |
|
ReleaseMouseCapture | (Inherited from UIElement.) |
|
RemoveHandler | (Inherited from UIElement.) |
|
SetBinding | (Inherited from FrameworkElement.) |
|
SetValue | (Inherited from DependencyObject.) |
|
SubmitChanges | Submits the changes for every Entity in the DomainContext. |
|
ToString | (Inherited from Object.) |
|
TransformToVisual | (Inherited from UIElement.) |
|
UpdateLayout | (Inherited from UIElement.) |
| Name | Description | |
|---|---|---|
|
BindingValidationError | (Inherited from FrameworkElement.) |
|
DoubleTap | (Inherited from UIElement.) |
|
GotFocus | (Inherited from UIElement.) |
|
Hold | (Inherited from UIElement.) |
|
IsEnabledChanged | (Inherited from Control.) |
|
KeyDown | (Inherited from UIElement.) |
|
KeyUp | (Inherited from UIElement.) |
|
LayoutUpdated | (Inherited from FrameworkElement.) |
|
Loaded | (Inherited from FrameworkElement.) |
|
LoadedData | Occurs when a data loading operation is completed. |
|
LoadingData | Occurs when a data loading operation is started. |
|
LostFocus | (Inherited from UIElement.) |
|
LostMouseCapture | (Inherited from UIElement.) |
|
ManipulationCompleted | (Inherited from UIElement.) |
|
ManipulationDelta | (Inherited from UIElement.) |
|
ManipulationStarted | (Inherited from UIElement.) |
|
MouseEnter | (Inherited from UIElement.) |
|
MouseLeave | (Inherited from UIElement.) |
|
MouseLeftButtonDown | (Inherited from UIElement.) |
|
MouseLeftButtonUp | (Inherited from UIElement.) |
|
MouseMove | (Inherited from UIElement.) |
|
MouseWheel | (Inherited from UIElement.) |
|
SizeChanged | (Inherited from FrameworkElement.) |
|
SubmittedChanges | Occurs whenever a submit operation is completed. |
|
SubmittingChanges | Occurs whenever a submit operation is started. |
|
Tap | (Inherited from UIElement.) |
|
TextInput | (Inherited from UIElement.) |
|
TextInputStart | (Inherited from UIElement.) |
|
TextInputUpdate | (Inherited from UIElement.) |
|
Unloaded | (Inherited from FrameworkElement.) |
| Name | Description | |
|---|---|---|
|
AutoLoadProperty | Identifies the AutoLoad dependency property. |
|
CanLoadProperty | Identifies the CancelLoad dependency property. |
|
DataProperty | Identifies the Data dependency property. |
|
DataViewProperty | Identifies the DataView dependency property. |
|
DesignDataProperty | Identifies the DesignData dependency property. |
|
DomainContextProperty | Identifies the DomainContext dependency property. |
|
FilterOperatorProperty | Identifies the FilterOperator dependency property. |
|
HasChangesProperty | Identifies the HasChanges dependency property. |
|
IsBusyProperty | Identifies the IsBusy dependency property. |
|
IsLoadingDataProperty | Identifies the IsLoadingData dependency property. |
|
IsSubmittingChangesProperty | Identifies the IsSubmittingChanges dependency property. |
|
LoadDelayProperty | Identifies the LoadDelay dependency property. |
|
LoadIntervalProperty | Identifies the LoadInterval dependency property. |
|
LoadSizeProperty | Identifies the LoadSize dependency property. |
|
PageSizeProperty | Identifies the PageSize dependency property. |
|
QueryNameProperty | Identifies the QueryName dependency property. |
|
RefreshIntervalProperty | Identifies the RefreshInterval dependency property. |
Use this component to simplify the interaction between the user interface and data from a DomainContext. After specifying a DomainContext and QueryName, the DomainDataSource can load data and expose it through the Data and DataView properties.
For more information, see DomainDataSource.
The following example shows a DomainDataSource that retrieves data from a domain context named ProductDomainContext and displays the data in a DataGrid control. A query method called GetProducts() must exist on the domain service for the example to work. The DomainDataSource includes two filter descriptors that are connected by a logical AND statement. One filter depends on user input and one filter is specified in the declarative syntax.
<Grid x:Name="LayoutRoot" Background="White"> <Grid.RowDefinitions> <RowDefinition Height="25" /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <riaControls:DomainDataSource x:Name="source" QueryName="GetProducts" AutoLoad="true"> <riaControls:DomainDataSource.DomainContext> <domain:ProductDomainContext /> </riaControls:DomainDataSource.DomainContext> <riaControls:DomainDataSource.FilterDescriptors> <riaData:FilterDescriptorCollection LogicalOperator="And"> <riaData:FilterDescriptor PropertyPath="Color" Operator="IsEqualTo" Value="Blue" /> <riaData:FilterDescriptor PropertyPath="ListPrice" Operator="IsLessThanOrEqualTo"> <riaControls:ControlParameter ControlName="MaxPrice" PropertyName="SelectedItem.Content" RefreshEventName="SelectionChanged" /> </riaData:FilterDescriptor> </riaData:FilterDescriptorCollection> </riaControls:DomainDataSource.FilterDescriptors> </riaControls:DomainDataSource> <ComboBox x:Name="MaxPrice" Grid.Row="0" Width="60" SelectedIndex="0"> <ComboBoxItem Content="100" /> <ComboBoxItem Content="500" /> <ComboBoxItem Content="1000" /> </ComboBox> <data:DataGrid Grid.Row="1" ItemsSource="{Binding Data, ElementName=source}" /> </Grid>