Mini Kabibi Habibi

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

<local:ChartsDemoModule x:Class="ChartsDemo.Line2DControl" Height="400" Width="800"
    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:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase"
    xmlns:dxc="http://schemas.devexpress.com/winfx/2008/xaml/charts"
    xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
    xmlns:local="clr-namespace:ChartsDemo"
    ModuleAppear="ChartsDemoModule_ModuleAppear">
    <local:ChartsDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/ChartsDemo;component/Themes/Generic.xaml" />
            </ResourceDictionary.MergedDictionaries>
            <local:DemoValuesProvider x:Key="DemoValuesProvider" />
            <local:Marker2DKindToMarker2DModelConverter x:Key="Marker2DKindToMarker2DModelConverter" />
            <local:MarkerSizeToLabelIndentConverter x:Key="MarkerSizeToLabelIndentConverter" />
            <local:NullableBooleanToInvertedBoolConverter x:Key="InvertedBoolConverter"/>
        </ResourceDictionary>
    </local:ChartsDemoModule.Resources>
    <dxdb:DemoModuleControl SupressGroupFramePaddingInOptions="False">
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel MinWidth="120">
                <dxe:CheckEdit Name="chbVisible" Content="Show Labels" IsChecked="False"  Margin="0,0,0,10" />
                <dx:GroupFrame Header="Angle" Margin="0,2,0,10" IsEnabled="{Binding ElementName=chbVisible, Path=IsChecked}">
                    <StackPanel>
                        <Grid>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition />
                                <ColumnDefinition />
                                <ColumnDefinition />
                            </Grid.ColumnDefinitions>
                            <TextBlock Grid.Column="0" Text="0" HorizontalAlignment="Left" />
                            <TextBlock Grid.Column="1" Text="180" HorizontalAlignment="Center" />
                            <TextBlock Grid.Column="2" Text="360" HorizontalAlignment="Right" />
                        </Grid>
                        <dxe:TrackBarEdit Name="slAngle" Value="45" Minimum="0" Maximum="360">
                            <dxe:TrackBarEdit.TickPlacement>None</dxe:TrackBarEdit.TickPlacement>
                        </dxe:TrackBarEdit>
                    </StackPanel>
                </dx:GroupFrame>
                <dxe:CheckEdit Name="chbMarkers" Content="Show Markers" Margin="0,10,0,10" IsChecked="True" />
                <dx:GroupFrame Header="Marker Size" Margin="0,2,0,0" IsEnabled="{Binding ElementName=chbMarkers, Path=IsChecked}">
                    <StackPanel>
                        <Grid>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition />
                                <ColumnDefinition />
                                <ColumnDefinition />
                            </Grid.ColumnDefinitions>
                            <TextBlock Grid.Column="0" Text="10" HorizontalAlignment="Left" />
                            <TextBlock Grid.Column="1" Text="25" HorizontalAlignment="Center" />
                            <TextBlock Grid.Column="2" Text="40" HorizontalAlignment="Right" />
                        </Grid>
                        <dxe:TrackBarEdit Name="slMarkerSize" Value="20" Minimum="10" Maximum="40" EditValue="20">
                            <dxe:TrackBarEdit.TickPlacement>None</dxe:TrackBarEdit.TickPlacement>
                        </dxe:TrackBarEdit>
                    </StackPanel>
                </dx:GroupFrame>
                <dx:GroupFrame Header="Marker" Margin="0,10,0,10">
                    <dxe:ListBoxEdit Name="lbMarker"
                                     Background="{x:Null}"
                                     ShowBorder="False"
                                     ItemsSource="{Binding PredefinedMarker2DKinds, Source={StaticResource DemoValuesProvider}}"
                                     IsEnabled="{Binding ElementName=chbMarkers, Path=IsChecked}">
                        <dxe:ListBoxEdit.StyleSettings>
                            <dxe:RadioListBoxEditStyleSettings />
                        </dxe:ListBoxEdit.StyleSettings>
                    </dxe:ListBoxEdit>
                </dx:GroupFrame>
            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <Grid>
            <dxc:ChartControl Name="chart" BorderThickness="0" EnableAnimation="True"
                              CrosshairEnabled="{Binding ElementName=chbVisible, Path=IsChecked, Converter={StaticResource InvertedBoolConverter}}">
                <dxc:ChartControl.CrosshairOptions>
                    <dxc:CrosshairOptions ShowArgumentLine="True" GroupHeaderPattern="{}Year: {A}">
                        <dxc:CrosshairOptions.CommonLabelPosition>
                            <dxc:CrosshairFreePosition DockTarget="{Binding ElementName=pane}"/>
                        </dxc:CrosshairOptions.CommonLabelPosition>
                    </dxc:CrosshairOptions>
                </dxc:ChartControl.CrosshairOptions>
                <dxc:ChartControl.Diagram>
                    <dxc:XYDiagram2D LabelsResolveOverlappingMinIndent="2">
                        <dxc:XYDiagram2D.DefaultPane>
                            <dxc:Pane Name="pane"/>
                        </dxc:XYDiagram2D.DefaultPane>
                        <dxc:XYDiagram2D.AxisY>
                            <dxc:AxisY2D GridLinesMinorVisible="True">
                                <dxc:AxisY2D.Title>
                                    <dxc:AxisTitle Content="Population mid-year, millions" />
                                </dxc:AxisY2D.Title>
                            </dxc:AxisY2D>
                        </dxc:XYDiagram2D.AxisY>
                        <dxc:XYDiagram2D.AxisX>
                            <dxc:AxisX2D GridLinesVisible="True" />
                        </dxc:XYDiagram2D.AxisX>
                        <dxc:XYDiagram2D.Series>
                            <dxc:LineSeries2D x:Name="Europe"
                                              DisplayName="Europe"
                                              MarkerSize="{Binding ElementName=slMarkerSize, Path=Value}"
                                              MarkerVisible="{Binding ElementName=chbMarkers, Path=IsChecked}"
                                              MarkerModel="{Binding ElementName=lbMarker, Path=SelectedItem, Converter={StaticResource Marker2DKindToMarker2DModelConverter}}"
                                              AnimationAutoStartMode="SetStartState">
                                <dxc:LineSeries2D.Label>
                                    <dxc:SeriesLabel ConnectorVisible="False"
                                                     ResolveOverlappingMode="Default"
                                                     Indent="{Binding ElementName=slMarkerSize, Path=Value, Converter={StaticResource MarkerSizeToLabelIndentConverter}}"
                                                     dxc:MarkerSeries2D.Angle="{Binding ElementName=slAngle, Path=Value}"
                                                     Visible="{Binding ElementName=chbVisible, Path=IsChecked}" />
                                </dxc:LineSeries2D.Label>
                                <dxc:LineSeries2D.Points>
                                    <dxc:SeriesPoint Argument="1950" Value="546" />
                                    <dxc:SeriesPoint Argument="1960" Value="605" />
                                    <dxc:SeriesPoint Argument="1970" Value="656" />
                                    <dxc:SeriesPoint Argument="1980" Value="694" />
                                    <dxc:SeriesPoint Argument="1990" Value="721" />
                                    <dxc:SeriesPoint Argument="2000" Value="730" />
                                    <dxc:SeriesPoint Argument="2010" Value="728" />
                                    <dxc:SeriesPoint Argument="2020" Value="721" />
                                    <dxc:SeriesPoint Argument="2030" Value="704" />
                                    <dxc:SeriesPoint Argument="2040" Value="680" />
                                    <dxc:SeriesPoint Argument="2050" Value="650" />
                                </dxc:LineSeries2D.Points>
                            </dxc:LineSeries2D>
                            <dxc:LineSeries2D x:Name="Americas"
                                              DisplayName="Americas"
                                              MarkerSize="{Binding ElementName=slMarkerSize, Path=Value}"
                                              MarkerVisible="{Binding ElementName=chbMarkers, Path=IsChecked}"
                                              MarkerModel="{Binding ElementName=lbMarker, Path=SelectedItem, Converter={StaticResource Marker2DKindToMarker2DModelConverter}}"
                                              AnimationAutoStartMode="SetStartState">
                                <dxc:LineSeries2D.Label>
                                    <dxc:SeriesLabel ConnectorVisible="False"
                                                     ResolveOverlappingMode="Default"
                                                     Indent="{Binding ElementName=slMarkerSize, Path=Value, Converter={StaticResource MarkerSizeToLabelIndentConverter}}"
                                                     dxc:MarkerSeries2D.Angle="{Binding ElementName=slAngle, Path=Value}"
                                                     Visible="{Binding ElementName=chbVisible, Path=IsChecked}" />
                                </dxc:LineSeries2D.Label>
                                <dxc:LineSeries2D.Points>
                                    <dxc:SeriesPoint Argument="1950" Value="332" />
                                    <dxc:SeriesPoint Argument="1960" Value="417" />
                                    <dxc:SeriesPoint Argument="1970" Value="513" />
                                    <dxc:SeriesPoint Argument="1980" Value="614" />
                                    <dxc:SeriesPoint Argument="1990" Value="721" />
                                    <dxc:SeriesPoint Argument="2000" Value="836" />
                                    <dxc:SeriesPoint Argument="2010" Value="935" />
                                    <dxc:SeriesPoint Argument="2020" Value="1027" />
                                    <dxc:SeriesPoint Argument="2030" Value="1110" />
                                    <dxc:SeriesPoint Argument="2040" Value="1178" />
                                    <dxc:SeriesPoint Argument="2050" Value="1231" />
                                </dxc:LineSeries2D.Points>
                            </dxc:LineSeries2D>
                            <dxc:LineSeries2D x:Name="Africa"
                                              DisplayName="Africa"
                                              MarkerSize="{Binding ElementName=slMarkerSize, Path=Value}"
                                              MarkerVisible="{Binding ElementName=chbMarkers, Path=IsChecked}"
                                              MarkerModel="{Binding ElementName=lbMarker, Path=SelectedItem, Converter={StaticResource Marker2DKindToMarker2DModelConverter}}"
                                              AnimationAutoStartMode="SetStartState">
                                <dxc:LineSeries2D.Label>
                                    <dxc:SeriesLabel ConnectorVisible="False"
                                                     ResolveOverlappingMode="Default"
                                                     Indent="{Binding ElementName=slMarkerSize, Path=Value, Converter={StaticResource MarkerSizeToLabelIndentConverter}}"
                                                     dxc:MarkerSeries2D.Angle="{Binding ElementName=slAngle, Path=Value}"
                                                     Visible="{Binding ElementName=chbVisible, Path=IsChecked}" />
                                </dxc:LineSeries2D.Label>
                                <dxc:LineSeries2D.Points>
                                    <dxc:SeriesPoint Argument="1950" Value="227" />
                                    <dxc:SeriesPoint Argument="1960" Value="283" />
                                    <dxc:SeriesPoint Argument="1970" Value="361" />
                                    <dxc:SeriesPoint Argument="1980" Value="471" />
                                    <dxc:SeriesPoint Argument="1990" Value="623" />
                                    <dxc:SeriesPoint Argument="2000" Value="797" />
                                    <dxc:SeriesPoint Argument="2010" Value="982" />
                                    <dxc:SeriesPoint Argument="2020" Value="1189" />
                                    <dxc:SeriesPoint Argument="2030" Value="1416" />
                                    <dxc:SeriesPoint Argument="2040" Value="1665" />
                                    <dxc:SeriesPoint Argument="2050" Value="1937" />
                                </dxc:LineSeries2D.Points>
                            </dxc:LineSeries2D>
                        </dxc:XYDiagram2D.Series>
                    </dxc:XYDiagram2D>
                </dxc:ChartControl.Diagram>
                <dxc:ChartControl.Titles>
                    <dxc:Title Dock="Top" HorizontalAlignment="Center" Content="Historic, Current and Future Population" />
                    <dxc:Title Dock="Bottom" HorizontalAlignment="Right" FontSize="12" Foreground="Silver" Margin="0,10,0,0" Content="From www.geohive.com" />
                </dxc:ChartControl.Titles>
            </dxc:ChartControl>
        </Grid>
    </dxdb:DemoModuleControl>
</local:ChartsDemoModule>