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/ContextMenu.xaml

<local:GridDemoModule x:Class="GridDemo.ContextMenu" x:Name="ContextMenuModule"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:dxdemo="clr-namespace:GridDemo"
    xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
    xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
 xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
    xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars"
    xmlns:local="clr-namespace:GridDemo"
    xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase"
    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>
            <dxdb:NWindDataLoader x:Key="NWindDataLoader" />
            <dx:DefaultBooleanToNullableBooleanConverter x:Key="DefaultBooleanToNullableBooleanConverter" />
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl>
        <dxdb:DemoModuleControl.OptionsTopText>
            Right-click a column header, grid row, group or summary panel and explore available menu items.
        </dxdb:DemoModuleControl.OptionsTopText>
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel>
                <dx:GroupFrame Header="Column Menu" Margin="0,0,0,12">
                    <StackPanel Orientation="Vertical">
                        <dxe:CheckEdit Margin="0,0,0,4" IsChecked="{Binding Path=View.IsColumnMenuEnabled, Mode=TwoWay}" Content="Enabled" />
                        <dxe:CheckEdit Name="columnMenuRemoveItemCheck" Margin="0,0,0,4" Content="Remove 'Group Box' item" />
                        <dxe:CheckEdit Name="columnMenuAddItemCheck" Margin="0,0,0,0" Content="Add 'Allow Sorting/Grouping' items" />
                    </StackPanel>
                </dx:GroupFrame>
                <dx:GroupFrame Header="GroupPanel Menu" Margin="0,0,0,12">
                    <StackPanel Orientation="Vertical">
                        <dxe:CheckEdit Margin="0,0,0,4" IsChecked="{Binding Path=View.IsGroupPanelMenuEnabled, Mode=TwoWay}" Content="Enabled" />
                        <dxe:CheckEdit Name="groupPanelMenuRemoveItemCheck" Margin="0,0,0,4" Content="Remove 'Clear Grouping' item" />
                        <dxe:CheckEdit Name="groupPanelMenuAddItemCheck" Margin="0,0,0,0" Content="Add 'Allow Sorting/Grouping' items" />
                    </StackPanel>
                </dx:GroupFrame>
                <dx:GroupFrame Header="Cell Menu" Margin="0,0,0,12">
                    <StackPanel Orientation="Vertical">
                        <dxe:CheckEdit Margin="0,0,0,0" IsChecked="{Binding Path=View.IsRowCellMenuEnabled, Mode=TwoWay}" Content="Enabled" />
                    </StackPanel>
                </dx:GroupFrame>
                <dx:GroupFrame Header="Footer Menu" Margin="0,0,0,12">
                    <StackPanel Orientation="Vertical">
                        <dxe:CheckEdit Margin="0,0,0,4" IsChecked="{Binding Path=View.IsTotalSummaryMenuEnabled, Mode=TwoWay}" Content="Enabled" />
                        <dxe:CheckEdit Name="totalMenuRemoveItemCheck" Margin="0,0,0,0" Content="Remove 'Customize' item" />
                    </StackPanel>
                </dx:GroupFrame>
            </StackPanel>
            </dxdb:DemoModuleControl.OptionsContent>
        <dxb:BarManager Name="barManager">
            <dxb:BarManager.Items>
                <dxb:BarButtonItem Name="copyCellDataItem" IsVisible="{Binding ElementName=ContextMenuModule, Path=CellMenuInfo.IsCellMenu}" Content="Cell Data" Command="{Binding ElementName=ContextMenuModule, Path=CopyCellInfo}" CommandParameter="{Binding Path=CellMenuInfo, ElementName=ContextMenuModule}" />
                <dxb:BarButtonItem Name="copyRowDataItem" Content="Row Data" Command="{Binding ElementName=ContextMenuModule, Path=CopyRowInfo}" CommandParameter="{Binding ElementName=ContextMenuModule, Path=CellMenuInfo.Row.RowHandle.Value}" />
                <dxb:BarButtonItem Name="deleteRowItem" Content="Delete" Command="{Binding ElementName=ContextMenuModule, Path=DeleteRow}" CommandParameter="{Binding ElementName=ContextMenuModule, Path=CellMenuInfo.Row.RowHandle.Value}" />
            </dxb:BarManager.Items>
            <dxg:GridControl Grid.Row="1" Name="grid" Grid.Column="0" ItemsSource="{Binding Path=InvoicesNew, Source={StaticResource NWindDataLoader}}" CustomSummary="grid_CustomSummary" CustomSummaryExists="grid_CustomSummaryExists">
                <dxg:GridControl.Columns>
                    <dxg:GridColumn Name="colCountry" FieldName="Country" MinWidth="30" Width="30" />
                    <dxg:GridColumn FieldName="City" MinWidth="30" Width="30" />
                    <dxg:GridColumn Name="colUnitPrice" FieldName="UnitPrice" MinWidth="150" Width="150">
                        <dxg:GridColumn.EditSettings>
                            <dxe:TextEditSettings MaskType="Numeric" MaskUseAsDisplayFormat="True" Mask="c" MaskCulture="en-US" />
                        </dxg:GridColumn.EditSettings>
                    </dxg:GridColumn>
                    <dxg:GridColumn FieldName="Discount" MinWidth="150" Width="150">
                        <dxg:GridColumn.EditSettings>
                            <dxe:TextEditSettings DisplayFormat="0%" MaskType="Numeric" />
                        </dxg:GridColumn.EditSettings>
                    </dxg:GridColumn>
                </dxg:GridControl.Columns>
                <dxg:GridControl.TotalSummary>
                    <dxg:GridSummaryItem FieldName="UnitPrice" SummaryType="Count" ShowInColumn="UnitPrice" />
                    <dxg:GridSummaryItem FieldName="Discount" SummaryType="Max" ShowInColumn="Discount" />
                    <dxg:GridSummaryItem FieldName="UnitPrice" SummaryType="Custom" ShowInColumn="UnitPrice" DisplayFormat="Median={0:0}" Tag="customItem" />
                </dxg:GridControl.TotalSummary>
                <dxg:GridControl.GroupSummary>
                    <dxg:GridSummaryItem FieldName="UnitPrice" SummaryType="Sum" DisplayFormat="Sum of Unit Price is ${0:N}" />
                </dxg:GridControl.GroupSummary>
                <dxg:GridControl.View>
                    <dxg:TableView Name="view" ShowGroupedColumns="True" NavigationStyle="Row" ShowTotalSummary="True" AutoWidth="True" ShowGridMenu="TableView_ShowGridMenu">
                        <dxg:TableView.ColumnMenuCustomizations>
                            <dxb:BarItemLinkSeparator />
                            <dxb:BarCheckItem Name="allowSortingItem" Content="Allow Sorting" IsChecked="{Binding Path=(dxg:GridPopupMenu.GridMenuInfo).Column.AllowSorting, Mode=TwoWay, Converter={StaticResource DefaultBooleanToNullableBooleanConverter}, RelativeSource={RelativeSource Self}}" IsThreeState="true" />
                            <dxb:BarCheckItem Name="allowGroupingItem" Content="Allow Grouping" IsChecked="{Binding Path=(dxg:GridPopupMenu.GridMenuInfo).Column.AllowGrouping, Mode=TwoWay, Converter={StaticResource DefaultBooleanToNullableBooleanConverter}, RelativeSource={RelativeSource Self}}" IsThreeState="true" />
                        </dxg:TableView.ColumnMenuCustomizations>
                        <dxg:TableView.GroupPanelMenuCustomizations>
                            <dxb:BarItemLinkSeparator />
                            <dxb:BarCheckItem Name="allowAllSortingItem" Content="Allow Sorting" IsChecked="{Binding Path=(dxg:GridPopupMenu.GridMenuInfo).View.AllowSorting, Mode=TwoWay, RelativeSource={RelativeSource Self}}" />
                            <dxb:BarCheckItem Name="allowAllGroupingItem" Content="Allow Grouping" IsChecked="{Binding Path=(dxg:GridPopupMenu.GridMenuInfo).View.AllowGrouping, Mode=TwoWay, RelativeSource={RelativeSource Self}}" />
                        </dxg:TableView.GroupPanelMenuCustomizations>
                        <dxg:TableView.RowCellMenuCustomizations>
                            <dxb:BarButtonItemLink BarItemName="deleteRowItem" />
                            <dxb:BarSubItem Name="copyInfoItem" Content="Copy Info">
                                <dxb:BarItem.IsVisible>
                                    <Binding Source="{x:Static interop:BrowserInteropHelper.IsBrowserHosted}" Converter="{dx:NegationConverter}" xmlns:interop="clr-namespace:System.Windows.Interop;assembly=PresentationFramework" />
                                </dxb:BarItem.IsVisible>
                                <dxb:BarSubItem.ItemLinks>
                                    <dxb:BarButtonItemLink BarItemName="copyCellDataItem" />
                                    <dxb:BarButtonItemLink BarItemName="copyRowDataItem" />
                                </dxb:BarSubItem.ItemLinks>
                            </dxb:BarSubItem>
                        </dxg:TableView.RowCellMenuCustomizations>
                        <dxg:TableView.TotalSummaryMenuCustomizations>
                            <dxb:BarCheckItem Name="customSummaryMenuItem" dxb:BarItemLinkActionBase.ItemLinkIndex="5" Content="Median" IsChecked="true" CloseSubMenuOnClick="False" CheckedChanged="customSummaryMenuItem_CheckedChanged" />
                        </dxg:TableView.TotalSummaryMenuCustomizations>
                    </dxg:TableView>
                </dxg:GridControl.View>
            </dxg:GridControl>
        </dxb:BarManager>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>