Share via


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 中数据之间的交互。指定 DomainContextQueryName 之后,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

目标平台

Change History

另请参见

参考

DomainDataSource 成员
System.Windows.Controls 命名空间