Mini Kabibi Habibi
<local:GridDemoModule x:Class="GridDemo.SortBySummary"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
xmlns:dxgt="http://schemas.devexpress.com/winfx/2008/xaml/grid/themekeys"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:local="clr-namespace:GridDemo"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800">
<local:GridDemoModule.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/GridDemo;component/Themes/generic.xaml" />
</ResourceDictionary.MergedDictionaries>
<local:GroupIntervalData x:Key="groupIntervalData" />
</ResourceDictionary>
</local:GridDemoModule.Resources>
<dxdb:DemoModuleControl>
<dxdb:DemoModuleControl.OptionsContent>
<StackPanel Orientation="Vertical">
<dx:GroupFrame Header="Sort By" Margin="0,0,0,0">
<dxe:ListBoxEdit Background="{x:Null}" Margin="0,0,30,0" ShowBorder="False" x:Name="sortModeList" EditValueChanged="sortModeList_SelectionChanged">
<dxe:ListBoxEdit.StyleSettings>
<dxe:RadioListBoxEditStyleSettings />
</dxe:ListBoxEdit.StyleSettings>
<dxe:ListBoxEdit.Items>
<sys:String>Price: Avg Ascending</sys:String>
<sys:String>Price: Avg Descending</sys:String>
<sys:String>Orders: Sum Ascending</sys:String>
<sys:String>Orders: Sum Descending</sys:String>
</dxe:ListBoxEdit.Items>
</dxe:ListBoxEdit>
</dx:GroupFrame>
</StackPanel>
</dxdb:DemoModuleControl.OptionsContent>
<dxg:GridControl Name="grid" ItemsSource="{Binding Path=Products, Source={StaticResource groupIntervalData}}">
<dxg:GridControl.Resources>
<DataTemplate x:Key="summaryTemplate">
<ContentControl Content="{Binding}" Name="element" ContentTemplate="{Binding View.DefaultGroupSummaryItemTemplate}" />
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Path=SummaryItem.(local:SortBySummary.IsSelected)}" Value="true">
<Setter TargetName="element" Property="Foreground" Value="#FF238F06" />
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</dxg:GridControl.Resources>
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="ProductName" MinWidth="30" />
<dxg:GridColumn x:Name="colOrderDate" FieldName="OrderDate" MinWidth="30" GroupInterval="DateMonth">
<dxg:GridColumn.EditSettings>
<dxe:DateEditSettings DisplayFormat="d" />
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn x:Name="colUnitPrice" FieldName="UnitPrice" MinWidth="30">
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings DisplayFormat="$0.00" />
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn x:Name="colCount" FieldName="Count" MinWidth="30" />
<dxg:GridColumn x:Name="colOrderSum" FieldName="OrderSum" MinWidth="30">
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings DisplayFormat="$0.00" />
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
</dxg:GridControl.Columns>
<dxg:GridControl.GroupSummary>
<dxg:GridSummaryItem DisplayFormat="Price: Avg = {0:$0.00}" FieldName="UnitPrice" SummaryType="Average" />
<dxg:GridSummaryItem DisplayFormat="Orders: Sum = {0:$0.00}" FieldName="OrderSum" SummaryType="Sum" />
</dxg:GridControl.GroupSummary>
<dxg:GridControl.View>
<dxg:TableView AllowGrouping="False" AllowSorting="False" AutoWidth="True" Name="view" GroupSummaryItemTemplate="{StaticResource summaryTemplate}" NavigationStyle="None" />
</dxg:GridControl.View>
</dxg:GridControl>
</dxdb:DemoModuleControl>
</local:GridDemoModule>