DomainDataSource 类
提供一个对象,用于加载数据集合、筛选数据集合,以及对数据集合进行分组和排序。
命名空间: System.Windows.Controls
程序集: System.Windows.Controls.DomainServices(在 system.windows.controls.domainservices.dll 中)
用法
用法
Dim instance As DomainDataSource
语法
声明
<TemplateVisualStateAttribute(Name:="Changed", GroupName:="ChangeStates")> _
<TemplateVisualStateAttribute(Name:="Unchanged", 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
Inherits Control
[TemplateVisualStateAttribute(Name="Changed", GroupName="ChangeStates")]
[TemplateVisualStateAttribute(Name="Unchanged", 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
[TemplateVisualStateAttribute(Name=L"Changed", GroupName=L"ChangeStates")]
[TemplateVisualStateAttribute(Name=L"Unchanged", GroupName=L"ChangeStates")]
[TemplateVisualStateAttribute(Name=L"Normal", GroupName=L"CommonStates")]
[TemplateVisualStateAttribute(Name=L"Disabled", GroupName=L"CommonStates")]
[TemplateVisualStateAttribute(Name=L"Idle", GroupName=L"ActivityStates")]
[TemplateVisualStateAttribute(Name=L"Loading", GroupName=L"ActivityStates")]
[TemplateVisualStateAttribute(Name=L"Submitting", GroupName=L"ActivityStates")]
public ref class DomainDataSource : public Control
/** @attribute TemplateVisualStateAttribute(Name="Changed", GroupName="ChangeStates") */
/** @attribute TemplateVisualStateAttribute(Name="Unchanged", GroupName="ChangeStates") */
/** @attribute TemplateVisualStateAttribute(Name="Normal", GroupName="CommonStates") */
/** @attribute TemplateVisualStateAttribute(Name="Disabled", GroupName="CommonStates") */
/** @attribute TemplateVisualStateAttribute(Name="Idle", GroupName="ActivityStates") */
/** @attribute TemplateVisualStateAttribute(Name="Loading", GroupName="ActivityStates") */
/** @attribute TemplateVisualStateAttribute(Name="Submitting", GroupName="ActivityStates") */
public class DomainDataSource extends Control
TemplateVisualStateAttribute(Name="Changed", GroupName="ChangeStates")
TemplateVisualStateAttribute(Name="Unchanged", 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 extends Control
示例
下面的示例显示一个 DomainDataSource 控件,该控件从名为 ProductDomainContext
的域上下文中检索数据,并在 DataGrid 控件中显示这些数据。只有域服务中存在名为 GetProducts()
的查询方法,此示例才能正常运行。DomainDataSource 包含两个筛选器描述符,它们通过一个逻辑 AND 语句连接。一个筛选器依赖于用户输入,另一个筛选器则在声明性语法中指定。
<Grid x:Name="LayoutRoot" Background="White">
<Grid.RowDefinitions>
<RowDefinition Height="25" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<riaControls:DomainDataSource Name="source" FilterOperator="And" QueryName="GetProducts" AutoLoad="true">
<riaControls:DomainDataSource.DomainContext>
<domain:ProductDomainContext />
</riaControls:DomainDataSource.DomainContext>
<riaControls:DomainDataSource.FilterDescriptors>
<riaControls:FilterDescriptor PropertyPath="Color" Operator="IsEqualTo" Value="Blue" />
<riaControls:FilterDescriptor PropertyPath="ListPrice" Operator="IsLessThanOrEqualTo" Value="{Binding ElementName=MaxPrice, Path=SelectedItem.Content}" />
</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>
备注
使用此组件可简化用户界面与 DomainContext 中数据之间的交互。指定 DomainContext 和 QueryName 之后,DomainDataSource 就可以加载数据,并通过 Data 属性和 DataView 属性公开这些数据。
有关更多信息,请参见 DomainDataSource。
继承层次结构
System.Object
System.Windows.DependencyObject
System.Windows.UIElement
System.Windows.FrameworkElement
System.Windows.Controls.Control
System.Windows.Controls.DomainDataSource
线程安全
此类型的任何公共静态(在 Visual Basic 中为 共享)成员都是线程安全的。不保证所有实例成员都是线程安全的。
平台
开发平台
Windows XP Home Edition, Windows XP Professional, Windows Server 2003 、Windows Server 2008 和 Windows 2000