ItemsControl.DisplayMemberPath Property

Definition

Gets or sets a path to a value on the source object to serve as the visual representation of the object.

public:
 property System::String ^ DisplayMemberPath { System::String ^ get(); void set(System::String ^ value); };
[System.ComponentModel.Bindable(true)]
public string DisplayMemberPath { get; set; }
[<System.ComponentModel.Bindable(true)>]
member this.DisplayMemberPath : string with get, set
Public Property DisplayMemberPath As String

Property Value

The path to a value on the source object. This can be any path, or an XPath such as "@Name". The default is an empty string ("").

Attributes

Examples

In the following example, the static resource named places is defined as a collection of Place objects, in which each Place object has a CityName property and a State property. The prefix src is mapped to the namespace where the data source Places is defined. The prefixes scm and dat are mapped to the System.ComponentModel and System.Windows.Data namespaces, respectively.

The following example creates a view of the data collection that is sorted by the city name and grouped by the state.

<Window.Resources>

  <src:Places x:Key="places"/>

  <CollectionViewSource Source="{StaticResource places}" x:Key="cvs">
    <CollectionViewSource.SortDescriptions>
      <scm:SortDescription PropertyName="CityName"/>
    </CollectionViewSource.SortDescriptions>
    <CollectionViewSource.GroupDescriptions>
      <dat:PropertyGroupDescription PropertyName="State"/>
    </CollectionViewSource.GroupDescriptions>
  </CollectionViewSource>

The view can be a binding source, as in the following example. Because of the specified DisplayMemberPath, eachPlace object is shown with its CityName value. If DisplayMemberPath is not specified and there is no DataTemplate, then the ListBox displays a string representation of each object in the underlying collection (in this case, "SDKSample.Place").

<ListBox ItemsSource="{Binding Source={StaticResource cvs}}"
         DisplayMemberPath="CityName" Name="lb">
  <ListBox.GroupStyle>
    <x:Static Member="GroupStyle.Default"/>
  </ListBox.GroupStyle>
</ListBox>

Remarks

This property is a simple way to define a default template that describes how to display the data objects.

Dependency Property Information

Identifier field DisplayMemberPathProperty
Metadata properties set to true None

Applies to

See also