Поделиться через


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 содержит два дескриптора фильтра, соединенные логическим оператором И. Один фильтр зависит от данных, вводимых пользователем, а второй задается в декларативном синтаксисе.

<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

Многопоточное использование

Все общие статические члены (Shared в Visual Basic) можно использовать в потокобезопасных операциях. Безопасная многопоточная работа с членами экземпляров типа не гарантируется.

Платформы

Платформы разработки

Windows XP Home Edition, Windows XP Professional, Windows Server 2003 , Windows Server 2008 и Windows 2000

Целевые платформы

Change History

См. также

Справочник

Члены DomainDataSource
System.Windows.Controls - пространство имен