Back to Devexpress

DetailDescriptorTrigger Class

wpf-devexpress-dot-xpf-dot-grid-9e174dcb.md

latest4.9 KB
Original Source

DetailDescriptorTrigger Class

Represents a trigger that selects a proper detail for each master row conditionally.

Namespace : DevExpress.Xpf.Grid

Assembly : DevExpress.Xpf.Grid.v25.2.Core.dll

NuGet Package : DevExpress.Wpf.Grid.Core

Declaration

csharp
public class DetailDescriptorTrigger :
    DXTriggerBase
vb
Public Class DetailDescriptorTrigger
    Inherits DXTriggerBase

Example

In this example, the DetailDescriptorSelector displays different details based on the master row’s content. Assign the default detail descriptor to the DetailDescriptorSelector.DefaultValue property and use DetailDescriptorTriggers to conditionally switch it to an another detail. This trigger has the Binding and Value properties which work similarly to corresponding properties in a standard WPF DataTrigger.

View Example: Display Different Details Based on Data in the Master Row

xaml
<dxg:GridControl AutoGenerateColumns="AddNew" ItemsSource="{Binding Tasks}">
    <dxg:GridControl.DetailDescriptor>
        <dxg:DetailDescriptorSelector>
            <dxg:DetailDescriptorSelector.DefaultValue>
                <dxg:DataControlDetailDescriptor ItemsSourcePath="CompletedActions">
                    <dxg:GridControl AutoGenerateColumns="AddNew">
                        <dxg:GridControl.View>
                            <dxg:TableView ShowGroupPanel="False"/>
                        </dxg:GridControl.View>
                    </dxg:GridControl>
                </dxg:DataControlDetailDescriptor>
            </dxg:DetailDescriptorSelector.DefaultValue>
            <dxg:DetailDescriptorTrigger Binding="{Binding Succeed}" Value="False">
                <dxg:DataControlDetailDescriptor ItemsSourcePath="Errors">
                    <dxg:GridControl AutoGenerateColumns="AddNew">
                        <dxg:GridControl.View>
                            <dxg:TableView ShowGroupPanel="False"/>
                        </dxg:GridControl.View>
                    </dxg:GridControl>
                </dxg:DataControlDetailDescriptor>
            </dxg:DetailDescriptorTrigger>
        </dxg:DetailDescriptorSelector>
    </dxg:GridControl.DetailDescriptor>
    <dxg:GridControl.View>
        <dxg:TableView AutoWidth="True" ShowGroupPanel="False"/>
    </dxg:GridControl.View>
</dxg:GridControl>

The following code snippet (auto-collected from DevExpress Examples) contains a reference to the DetailDescriptorTrigger class.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

wpf-data-grid-display-different-details-based-on-master-row-data/CS/WpfApp30/MainWindow.xaml#L27

xml
</dxg:DetailDescriptorSelector.DefaultValue>
<dxg:DetailDescriptorTrigger Binding="{Binding Succeed}" Value="False">
    <dxg:DataControlDetailDescriptor ItemsSourcePath="Errors">

Inheritance

Object DispatcherObject DependencyObject Freezable DXTriggerBase DetailDescriptorTrigger

See Also

DetailDescriptorTrigger Members

DetailDescriptorSelector

Data Dependent Details

DevExpress.Xpf.Grid Namespace