Mini Kabibi Habibi

Current Path : C:/Users/Public/Documents/DXperience 13.1 Demos/WPF/CS/GridDemo.Wpf/Modules/
Upload File :
Current File : C:/Users/Public/Documents/DXperience 13.1 Demos/WPF/CS/GridDemo.Wpf/Modules/MasterDetailView.xaml

<local:GridDemoModule x:Class="GridDemo.MasterDetailView"
    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:local="clr-namespace:GridDemo"
 xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase"
 xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
    xmlns:dxgt="http://schemas.devexpress.com/winfx/2008/xaml/grid/themekeys"
 xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
    xmlns:sys="clr-namespace:System;assembly=mscorlib"
    mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800"
 HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/Themes/generic.xaml" />
                <ResourceDictionary Source="/GridDemo;component/Controls/ControlStyles/MasterDetailTemplates.xaml" />
                <ResourceDictionary Source="/GridDemo;component/ModuleResources/SharedResources.xaml" />
            </ResourceDictionary.MergedDictionaries>
            <local:MasterDetailViewModel x:Key="viewModel" />
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl SupressGroupFramePaddingInOptions="False">
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel MinWidth="200">
                <StackPanel DataContext="{StaticResource viewModel}">
                    <dxe:CheckEdit IsChecked="{Binding AllowPerPixelScrolling, ElementName=view, Mode=TwoWay}" Margin="10,0,0,5">Allow Per Pixel Scrolling</dxe:CheckEdit>
                    <dxe:CheckEdit IsChecked="{Binding ShowFixedTotalSummary, ElementName=view, Mode=TwoWay}" Margin="10,0,0,5">Show Total Summary</dxe:CheckEdit>
                    <dxe:CheckEdit IsChecked="{Binding ShowDetailButtons, Mode=TwoWay}" Margin="10,0,0,5">Show Detail Buttons</dxe:CheckEdit>
                    <dxe:CheckEdit x:Name="DetailContentCheck" IsChecked="True" Margin="10,0,0,5">Show Detail Content</dxe:CheckEdit>
                </StackPanel>
                <dx:GroupFrame Header="Orders Detail Options" Margin="0,10,0,0" VerticalAlignment="Top" DataContext="{StaticResource viewModel}">
                    <StackPanel>
                        <dxe:CheckEdit IsChecked="{Binding ShowOrdersColumnHeaders, Mode=TwoWay}" Margin="0,0,0,5">Show Column Headers</dxe:CheckEdit>
                        <dxe:CheckEdit IsChecked="{Binding ShowOrdersSummaries, Mode=TwoWay}">Show Total Summary</dxe:CheckEdit>
                    </StackPanel>
                </dx:GroupFrame>
                <dx:GroupFrame Header="Invoices Detail Options" Margin="0,10,0,0" VerticalAlignment="Top" DataContext="{StaticResource viewModel}">
                    <StackPanel>
                        <dxe:CheckEdit IsChecked="{Binding ShowInvoicesColumnHeaders, Mode=TwoWay}" Margin="0,0,0,5">Show Column Headers</dxe:CheckEdit>
                        <dxe:CheckEdit IsChecked="{Binding ShowInvoicesSummaries, Mode=TwoWay}">Show Total Summary</dxe:CheckEdit>
                    </StackPanel>
                </dx:GroupFrame>
                <dx:GroupFrame Header="Customers Detail Options" Margin="0,10,0,0" VerticalAlignment="Top" DataContext="{StaticResource viewModel}">
                    <StackPanel>
                        <dxe:CheckEdit IsChecked="{Binding ShowCustomersColumnHeaders, Mode=TwoWay}" Margin="0,0,0,5">Show Column Headers</dxe:CheckEdit>
                        <dxe:CheckEdit IsChecked="{Binding ShowCustomersSummaries, Mode=TwoWay}">Show Total Summary</dxe:CheckEdit>
                    </StackPanel>
                </dx:GroupFrame>
            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl x:Name="grid" ItemsSource="{Binding Employees}" DataContext="{StaticResource viewModel}">
            <dxg:GridControl.DetailDescriptor>
                <dxg:TabViewDetailDescriptor ShowHeader="False">
                    <dxg:TabViewDetailDescriptor.ContentTemplate>
                        <Binding Path="IsChecked" ElementName="DetailContentCheck">
                            <Binding.Converter>
                                <dx:BoolToObjectConverter TrueValue="{StaticResource tabViewDetailDescriptorContentTemplate}" />
                            </Binding.Converter>
                        </Binding>
                    </dxg:TabViewDetailDescriptor.ContentTemplate>
                    <dxg:TabViewDetailDescriptor.DetailDescriptors>
                        <dxg:DataControlDetailDescriptor ItemsSourceBinding="{Binding MDOrders}" ShowHeader="false">
                            <dxg:GridControl>
                                <dxg:GridControl.DetailDescriptor>
                                    <dxg:DataControlDetailDescriptor ShowHeader="False" ItemsSourceBinding="{Binding Invoices}">
                                        <dxg:GridControl>
                                            <dxg:GridControl.Columns>
                                                <dxg:GridColumn FieldName="ProductName" />
                                                <dxg:GridColumn FieldName="UnitPrice" />
                                                <dxg:GridColumn FieldName="Quantity" />
                                                <dxg:GridColumn FieldName="Total" UnboundType="Decimal"
                                                                UnboundExpression="[UnitPrice]*[Quantity]" Header="Total" />
                                            </dxg:GridControl.Columns>
                                            <dxg:GridControl.View>
                                                <dxg:TableView VerticalScrollbarVisibility="Auto" AutoWidth="True" NavigationStyle="Row"
                                                               DetailHeaderContent="Invoices" ShowGroupPanel="False"
                                                               ShowFixedTotalSummary="{Binding ShowInvoicesSummaries, Source={StaticResource viewModel}}"
                                                               ShowColumnHeaders="{Binding ShowInvoicesColumnHeaders, Source={StaticResource viewModel}}" />
                                            </dxg:GridControl.View>
                                            <dxg:GridControl.TotalSummary>
                                                <dxg:GridSummaryItem SummaryType="Count" Alignment="Left"/>
                                                <dxg:GridSummaryItem FieldName="Total" SummaryType="Sum" Alignment="Right" />
                                            </dxg:GridControl.TotalSummary>
                                        </dxg:GridControl>
                                    </dxg:DataControlDetailDescriptor>
                                </dxg:GridControl.DetailDescriptor>
                                <dxg:GridControl.Columns>
                                    <dxg:GridColumn FieldName="OrderDate" />
                                    <dxg:GridColumn FieldName="Freight" />
                                    <dxg:GridColumn FieldName="ShipName" />
                                    <dxg:GridColumn FieldName="ShipCountry" CellTemplate="{StaticResource colCountryCellTemplate}" />
                                    <dxg:GridColumn FieldName="ShipCity" />
                                    <dxg:GridColumn FieldName="ShipAddress" />
                                </dxg:GridControl.Columns>
                                <dxg:GridControl.View>
                                    <dxg:TableView VerticalScrollbarVisibility="Auto" AutoWidth="True" NavigationStyle="Row"
                                                   DetailHeaderContent="Orders" ShowGroupPanel="False"
                                                   ShowFixedTotalSummary="{Binding ShowOrdersSummaries}"
                                                   ShowColumnHeaders="{Binding ShowOrdersColumnHeaders}"
                                                   ShowDetailButtons="{Binding ShowDetailButtons, Converter={StaticResource booleanToDefaultBooleanConverter}}" />
                                </dxg:GridControl.View>
                                <dxg:GridControl.TotalSummary>
                                    <dxg:GridSummaryItem FieldName="Freight" SummaryType="Sum" Alignment="Right" />
                                </dxg:GridControl.TotalSummary>
                            </dxg:GridControl>
                        </dxg:DataControlDetailDescriptor>
                        <dxg:DataControlDetailDescriptor ItemsSourceBinding="{Binding MDCustomers}" ShowHeader="false">
                            <dxg:GridControl>
                                <dxg:GridControl.Columns>
                                    <dxg:GridColumn FieldName="ContactName" />
                                    <dxg:GridColumn FieldName="Country" CellTemplate="{StaticResource colCountryCellTemplate}" />
                                    <dxg:GridColumn FieldName="City" />
                                    <dxg:GridColumn FieldName="Address" />
                                    <dxg:GridColumn FieldName="Phone" />
                                </dxg:GridControl.Columns>
                                <dxg:GridControl.GroupSummary>
                                    <dxg:GridSummaryItem FieldName="MDOrders.Count" SummaryType="Sum" />
                                </dxg:GridControl.GroupSummary>
                                <dxg:GridControl.View>
                                    <dxg:TableView VerticalScrollbarVisibility="Auto" AutoWidth="True" NavigationStyle="Row"
                                                   DetailHeaderContent="Customers" ShowGroupPanel="False"
                                                   ShowFixedTotalSummary="{Binding ShowCustomersSummaries}"
                                                   ShowColumnHeaders="{Binding ShowCustomersColumnHeaders}" />
                                </dxg:GridControl.View>
                                <dxg:GridControl.TotalSummary>
                                    <dxg:GridSummaryItem SummaryType="Count" Alignment="Left"  />
                                </dxg:GridControl.TotalSummary>
                            </dxg:GridControl>
                        </dxg:DataControlDetailDescriptor>
                        <dxg:ContentDetailDescriptor ShowHeader="False" HeaderContent="Stats"
                                                     ContentTemplate="{StaticResource employeeStatsTemplate}" />
                        <dxg:ContentDetailDescriptor ContentTemplate="{StaticResource cardViewTemplate}"
                                                     ShowHeader="False" HeaderContent="Subordinates" />
                    </dxg:TabViewDetailDescriptor.DetailDescriptors>
                </dxg:TabViewDetailDescriptor>
            </dxg:GridControl.DetailDescriptor>
            <dxg:GridControl.View>
                <dxg:TableView x:Name="view" AllowPerPixelScrolling="True" AutoWidth="True"
                               NavigationStyle="Cell" DetailHeaderContent="Employees"
                               ShowFixedTotalSummary="True" ShowDetailButtons="{Binding ShowDetailButtons, Converter={StaticResource booleanToDefaultBooleanConverter}}">
                    <i:Interaction.Triggers>
                        <i:EventTrigger EventName="Loaded">
                            <i:InvokeCommandAction CommandName="ExpandMasterRow" CommandParameter="1"
                                                   Command="{Binding Commands.ExpandMasterRow, ElementName=view}" />
                        </i:EventTrigger>
                    </i:Interaction.Triggers>
                </dxg:TableView>
            </dxg:GridControl.View>
            <dxg:GridControl.Columns>
                <dxg:GridColumn FieldName="FullName" ReadOnly="True" MinWidth="60" HeaderTemplate="{StaticResource ColumnHeaderTemplate}" />
                <dxg:GridColumn FieldName="Title" Header="JobTitle" HeaderTemplate="{StaticResource ColumnHeaderTemplate}" />
                <dxg:GridColumn FieldName="Region" Header="Country" MinWidth="60" CellTemplate="{StaticResource colCountryCellTemplate}" HeaderTemplate="{StaticResource ColumnHeaderTemplate}" />
                <dxg:GridColumn FieldName="BirthDate" MinWidth="60" HeaderTemplate="{StaticResource ColumnHeaderTemplate}">
                    <dxg:GridColumn.EditSettings>
                        <dxe:DateEditSettings DisplayFormat="d" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn FieldName="EMail" Header="Contacts" Width="195" HeaderTemplate="{StaticResource ColumnHeaderTemplate}" />
            </dxg:GridControl.Columns>
            <dxg:GridControl.TotalSummary>
                <dxg:GridSummaryItem SummaryType="Count" Alignment="Right"/>
            </dxg:GridControl.TotalSummary>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>