Share via


SortDescriptor.PropertyPath-Eigenschaft

Ruft die öffentliche Eigenschaft ab, die für die Sortierung verwendet wird, oder legt diese fest.

Namespace: System.Windows.Controls
Assembly: System.Windows.Controls.DomainServices (in system.windows.controls.domainservices.dll)

Verwendung

'Usage
Dim instance As SortDescriptor
Dim value As String

value = instance.PropertyPath

instance.PropertyPath = value

Syntax

'Declaration
Public Property PropertyPath As String
public string PropertyPath { get; set; }
public:
property String^ PropertyPath {
    String^ get ();
    void set (String^ value);
}
/** @property */
public String get_PropertyPath ()

/** @property */
public void set_PropertyPath (String value)
public function get PropertyPath () : String

public function set PropertyPath (value : String)

Eigenschaftswert

Die öffentliche Eigenschaft, die zum Sortieren verwendet wird.

Beispiel

Im folgenden Beispiel wird gezeigt, wie Sie der DomainDataSource einen Sortierdeskriptor hinzufügen. Die mit der Abfrage abgerufenen Daten werden nach Werten in der StandardCost-Eigenschaft sortiert.

<Grid x:Name="LayoutRoot" Background="White">
    <riaControls:DomainDataSource Name="source" QueryName="GetProducts" AutoLoad="true">
        <riaControls:DomainDataSource.DomainContext>
            <domain:ProductDomainContext />
        </riaControls:DomainDataSource.DomainContext>
        <riaControls:DomainDataSource.SortDescriptors>
            <riaControls:SortDescriptor PropertyPath="StandardCost" Direction="Ascending" />
            <riaControls:SortDescriptor PropertyPath="ProductID" Direction="Ascending" />
        </riaControls:DomainDataSource.SortDescriptors>
    </riaControls:DomainDataSource>
    <data:DataGrid ItemsSource="{Binding Data, ElementName=source}" />
</Grid>

Hinweise

Wenn Sie Paging und Sortierung zusammen implementieren, schließen Sie mindestens einen SortDescriptor mit ein, dessen PropertyPath-Attribut einer Eigenschaft zugewiesen wurde, die eindeutige Werte enthält, z. B. ein Primärschlüssel. Oder fügen Sie eine OrderBy-Klausel auf Grundlage einer Eigenschaft hinzu, die eindeutige Werte für Abfragen in DomainDataSource enthält. Wenn Sie die Daten nur mit einer Eigenschaft sortieren, die keine eindeutigen Werte enthält, können die Rückgabewerte über mehrere Seiten hinweg inkonsistente und lückenhafte Daten enthalten.

Beachten Sie z. B. die Werte in der folgenden Tabelle. Beachten Sie, dass die ID-Werte eindeutig sind, die Land-Werte jedoch nicht.

ID Land

1

GB

2

GB

3

US

4

GB

5

US

6

IT

7

GB

8

GB

9

US

10

SP

Wenn Sie Paging für diese Werte implementieren möchten, nach Land sortiert, können Sie zum Beispiel das folgende Markup verwenden:

<Grid x:Name="LayoutRoot">
    <ScrollViewer x:Name="PageScrollViewer" Style="{StaticResource PageScrollViewerStyle}">
        <StackPanel x:Name="ContentStackPanel">
            <TextBlock x:Name="HeaderText" Style="{StaticResource HeaderTextStyle}" 
                               Text="Home"/>
            <TextBlock x:Name="ContentText" Style="{StaticResource ContentTextStyle}" 
                               Text="Home page content"/>
            <riaControls:DomainDataSource Name="domainDataSource1" QueryName="GetCountriesQuery" PageSize="4">
                <riaControls:DomainDataSource.DomainContext>
                    <ds:TestDomainContext></ds:TestDomainContext>
                </riaControls:DomainDataSource.DomainContext>
                <riaControls:DomainDataSource.SortDescriptors>
                    <riaControls:SortDescriptor PropertyPath="Country" Direction="Ascending"></riaControls:SortDescriptor>
                    <riaControls:SortDescriptor PropertyPath="ID"></riaControls:SortDescriptor>
                </riaControls:DomainDataSource.SortDescriptors>
            </riaControls:DomainDataSource>
            <my:DataGrid ItemsSource="{Binding Data, ElementName=domainDataSource1}" />
            <my:DataPager PageSize="4" Source="{Binding Data, ElementName=domainDataSource1}" />
        </StackPanel>
    </ScrollViewer>
</Grid>

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht sichergestellt.

Plattformen

Entwicklungsplattformen

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

Zielplattformen

Change History

Siehe auch

Verweis

SortDescriptor-Klasse
SortDescriptor-Member
System.Windows.Controls-Namespace