SortDescriptor.PropertyPath 属性

获取或设置用于排序的公共属性。

命名空间: System.Windows.Controls
程序集: System.Windows.Controls.DomainServices(在 system.windows.controls.domainservices.dll 中)

用法

用法
Dim instance As SortDescriptor
Dim value As String

value = instance.PropertyPath

instance.PropertyPath = value

语法

声明
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)

属性值

用于排序的公共属性。

示例

下面的示例演示如何将一个排序描述符添加到 DomainDataSource。从查询中检索的数据按 StandardCost 属性中的值排序。

<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>

备注

同时实现分页和排序时,至少包含一个 SortDescriptor,将其 PropertyPath 特性分配给包含唯一值(如主键)的属性。或者将基于包含唯一值的属性的 OrderBy 子句添加到 DomainDataSource 中的查询。如果仅对不包含唯一值的属性排序数据,返回值可能包含不一致的数据或缺少跨页数据。

例如,请考虑下表中的值。请注意,ID 值是唯一的,但 Country 值不唯一。

ID Country

1

UK

2

UK

3

US

4

UK

5

US

6

IT

7

UK

8

UK

9

US

10

SP

如果要为这些值实现分页,按 Country 排序,可以使用以下标记:

<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>

线程安全

此类型的任何公共静态(在 Visual Basic 中为 共享)成员都是线程安全的。不保证所有实例成员都是线程安全的。

平台

开发平台

Windows XP Home Edition, Windows XP Professional, Windows Server 2003 、Windows Server 2008 和 Windows 2000

目标平台

Change History

另请参见

参考

SortDescriptor 类
SortDescriptor 成员
System.Windows.Controls 命名空间