次の方法で共有


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 ステートメントによって接続される 2 つのフィルター記述子が含まれています。一方のフィルターはユーザー入力に依存し、他方のフィルターは宣言構文で指定されます。

<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

スレッド セーフ

この型の public static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

プラットフォーム

開発プラットフォーム

Windows XP Home Edition, Windows XP Professional, Windows Server 2003 、Windows Server 2008、および Windows 2000

ターゲット プラットフォーム

Change History

参照

リファレンス

DomainDataSource のメンバー
System.Windows.Controls 名前空間