Mini Kabibi Habibi

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

<local:GaugesDemoModule x:Class="GaugesDemo.CircularScales"
                 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
                 xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
                 xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase"
                 xmlns:dxga="http://schemas.devexpress.com/winfx/2008/xaml/gauges"
                 xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
                 xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
                 xmlns:local="clr-namespace:GaugesDemo"
                 mc:Ignorable="d" d:DesignHeight="557" d:DesignWidth="2643">
    <dxdb:DemoModule.Resources>
        <ResourceDictionary>
            <local:BoolToDefaultBooleanConvert x:Key="BoolToDefaultBooleanConverter" />
        </ResourceDictionary>
    </dxdb:DemoModule.Resources>
    <dxdb:DemoModuleControl>
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel>
                <dx:GroupFrame Header="Labels">
                    <StackPanel>
                        <dxe:CheckEdit x:Name="showLabelsCheckEdit" Content="Show" Margin="0,0,0,2" IsChecked="True" Checked="UserCustomLabels_Checked" Unchecked="ShowLabels_Unchecked" />
                        <dxe:CheckEdit x:Name="userCustomLabelsCheckEdit" IsEnabled="{Binding ElementName=showLabelsCheckEdit, Path=IsChecked}" Content="Custom Labels" Margin="0,0,0,2" IsChecked="False" Checked="UserCustomLabels_Checked" Unchecked="UserCustomLabels_Checked" />
                    </StackPanel>
                </dx:GroupFrame>
                <dx:GroupFrame Header="Tickmarks" Margin="0,10,0,10">
                    <StackPanel>
                        <dxe:CheckEdit x:Name="showMajorCheckEdit" Content="Show Major" Margin="0,0,0,2" IsChecked="True" />
                        <dxe:CheckEdit x:Name="showMinorCheckEdit" Content="Show Minor" Margin="0,0,0,2" IsChecked="True" />
                    </StackPanel>
                </dx:GroupFrame>
            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="15*"/>
                <RowDefinition Height="75*"/>
                <RowDefinition Height="10*"/>
            </Grid.RowDefinitions>
            <TextBlock Grid.Row="0" Text="World Time" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="22" Foreground="#FF484E5A"/>
            <Grid Grid.Row="1" MaxWidth="1100">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="0.9*" />
                    <ColumnDefinition Width="5*" />
                    <ColumnDefinition Width="0.3*" />
                    <ColumnDefinition Width="5*" />
                    <ColumnDefinition Width="0.3*" />
                    <ColumnDefinition Width="5*" />
                    <ColumnDefinition Width="0.9*" />
                </Grid.ColumnDefinitions>
                <dxga:CircularGaugeControl VerticalAlignment="Center" HorizontalAlignment="Right" Grid.Column="1" Grid.Row="1" Padding="0,5,0,40" FlowDirection="LeftToRight">
                    <dxga:CircularGaugeControl.Model>
                        <dxga:CircularRedClockModel />
                    </dxga:CircularGaugeControl.Model>
                    <dxga:CircularGaugeControl.Scales>
                        <dxga:ArcScale x:Name="watchNewYorkScale"
                                   StartAngle="-90" EndAngle="270"
                                   StartValue="0" EndValue="12"
                                   MajorIntervalCount="12" MinorIntervalCount="5"
                                   ShowMajorTickmarks="{Binding ElementName=showMajorCheckEdit, Path=IsChecked, Converter={StaticResource BoolToDefaultBooleanConverter}}"
                                   ShowMinorTickmarks="{Binding ElementName=showMinorCheckEdit, Path=IsChecked, Converter={StaticResource BoolToDefaultBooleanConverter}}"
                                   ShowLabels="{Binding ElementName=showLabelsCheckEdit, Path=IsChecked, Converter={StaticResource BoolToDefaultBooleanConverter}}">
                            <dxga:ArcScale.Layers>
                                <dxga:ArcScaleLayer>
                                    <dxga:ArcScaleLayer.Presentation>
                                        <dxga:CustomArcScaleLayerPresentation>
                                            <dxga:CustomArcScaleLayerPresentation.ScaleLayerTemplate>
                                                <ControlTemplate>
                                                    <Image Grid.Row="1" RenderTransformOrigin="0.5,0.5" Source="../Images/CircularScales/Shadow.png" Margin="-10,42,-10,-30" Height="71" VerticalAlignment="Bottom" Stretch="Fill"/>
                                                </ControlTemplate>
                                            </dxga:CustomArcScaleLayerPresentation.ScaleLayerTemplate>
                                        </dxga:CustomArcScaleLayerPresentation>
                                    </dxga:ArcScaleLayer.Presentation>
                                </dxga:ArcScaleLayer>
                                <dxga:ArcScaleLayer />
                            </dxga:ArcScale.Layers>
                            <dxga:ArcScale.LabelOptions>
                                <dxga:ArcScaleLabelOptions Orientation="LeftToRight" ShowFirst="False" Offset="-46" ZIndex="1" />
                            </dxga:ArcScale.LabelOptions>
                            <dxga:ArcScale.MinorTickmarkOptions>
                                <dxga:MinorTickmarkOptions ShowTicksForMajor="True" Offset="-24" />
                            </dxga:ArcScale.MinorTickmarkOptions>
                            <dxga:ArcScale.Needles>
                                <dxga:ArcScaleNeedle x:Name="hourIndicatorNewYork" Value="1" />
                                <dxga:ArcScaleNeedle x:Name="minuteIndicatorNewYork" Value="50" />
                                <dxga:ArcScaleNeedle x:Name="secondIndicatorNewYork" />
                            </dxga:ArcScale.Needles>
                            <dxga:ArcScale.CustomElements>
                                <dxga:ScaleCustomElement VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
                                    <Grid Margin="42">
                                        <Grid.RowDefinitions>
                                            <RowDefinition/>
                                            <RowDefinition/>
                                        </Grid.RowDefinitions>
                                        <Image Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center" Source="../Images/CircularScales/IconNewYork.png" Stretch="None" />
                                        <TextBlock Grid.Row="1" Margin="0,0,0,-85" FontSize="16" HorizontalAlignment="Center" VerticalAlignment="Bottom" Text="New York" Foreground="#FF484E5A"/>
                                    </Grid>
                                </dxga:ScaleCustomElement>
                            </dxga:ArcScale.CustomElements>
                        </dxga:ArcScale>
                    </dxga:CircularGaugeControl.Scales>
                </dxga:CircularGaugeControl>
                <dxga:CircularGaugeControl VerticalAlignment="Center" HorizontalAlignment="Center" Grid.Row="1" Grid.Column="3" Padding="0,5,0,40" FlowDirection="LeftToRight">
                    <dxga:CircularGaugeControl.Model>
                        <dxga:CircularRedClockModel />
                    </dxga:CircularGaugeControl.Model>
                    <dxga:CircularGaugeControl.Scales>
                        <dxga:ArcScale Grid.RowSpan="2" x:Name="watchLondonScale"
                                   StartAngle="-90" EndAngle="270"
                                   StartValue="0" EndValue="12"
                                   MajorIntervalCount="12" MinorIntervalCount="5"
                                   ShowMajorTickmarks="{Binding ElementName=showMajorCheckEdit, Path=IsChecked, Converter={StaticResource BoolToDefaultBooleanConverter}}"
                                   ShowMinorTickmarks="{Binding ElementName=showMinorCheckEdit, Path=IsChecked, Converter={StaticResource BoolToDefaultBooleanConverter}}"
                                   ShowLabels="{Binding ElementName=showLabelsCheckEdit, Path=IsChecked, Converter={StaticResource BoolToDefaultBooleanConverter}}">
                            <dxga:ArcScale.Layers>
                                <dxga:ArcScaleLayer>
                                    <dxga:ArcScaleLayer.Presentation>
                                        <dxga:CustomArcScaleLayerPresentation>
                                            <dxga:CustomArcScaleLayerPresentation.ScaleLayerTemplate>
                                                <ControlTemplate>
                                                    <Image Grid.Row="1" RenderTransformOrigin="0.5,0.5" Source="../Images/CircularScales/Shadow.png" Margin="-10,42,-10,-30" Height="71" VerticalAlignment="Bottom" Stretch="Fill"/>
                                                </ControlTemplate>
                                            </dxga:CustomArcScaleLayerPresentation.ScaleLayerTemplate>
                                        </dxga:CustomArcScaleLayerPresentation>
                                    </dxga:ArcScaleLayer.Presentation>
                                </dxga:ArcScaleLayer>
                                <dxga:ArcScaleLayer />
                            </dxga:ArcScale.Layers>
                            <dxga:ArcScale.LabelOptions>
                                <dxga:ArcScaleLabelOptions Orientation="LeftToRight" ShowFirst="False" Offset="-46" ZIndex="1" />
                            </dxga:ArcScale.LabelOptions>
                            <dxga:ArcScale.MinorTickmarkOptions>
                                <dxga:MinorTickmarkOptions ShowTicksForMajor="True" Offset="-24" />
                            </dxga:ArcScale.MinorTickmarkOptions>
                            <dxga:ArcScale.Needles>
                                <dxga:ArcScaleNeedle x:Name="hourIndicatorLondon" Value="1" />
                                <dxga:ArcScaleNeedle x:Name="minuteIndicatorLondon" Value="50" />
                                <dxga:ArcScaleNeedle x:Name="secondIndicatorLondon" />
                            </dxga:ArcScale.Needles>
                            <dxga:ArcScale.CustomElements>
                                <dxga:ScaleCustomElement HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
                                    <Grid RenderTransformOrigin="0.5, 0.5" Margin="42">
                                        <Grid.RowDefinitions>
                                            <RowDefinition/>
                                            <RowDefinition/>
                                        </Grid.RowDefinitions>
                                        <Image Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center" Source="../Images/CircularScales/IconLondon.png" Stretch="None" />
                                        <TextBlock Grid.Row="1" Margin="0,0,0,-85" FontSize="16" HorizontalAlignment="Center" VerticalAlignment="Bottom" Text="London" Foreground="#FF484E5A"/>
                                    </Grid>
                                </dxga:ScaleCustomElement>
                            </dxga:ArcScale.CustomElements>
                        </dxga:ArcScale>
                    </dxga:CircularGaugeControl.Scales>
                </dxga:CircularGaugeControl>
                <dxga:CircularGaugeControl VerticalAlignment="Center" HorizontalAlignment="Left" Grid.Row="1" Grid.Column="5" Padding="0,5,0,40" FlowDirection="LeftToRight">
                    <dxga:CircularGaugeControl.Model>
                        <dxga:CircularRedClockModel />
                    </dxga:CircularGaugeControl.Model>
                    <dxga:CircularGaugeControl.Scales>
                        <dxga:ArcScale x:Name="watchMoscowScale"
                                   StartAngle="-90" EndAngle="270" StartValue="0" EndValue="12"
                                   MajorIntervalCount="12" MinorIntervalCount="5"
                                   ShowMajorTickmarks="{Binding ElementName=showMajorCheckEdit, Path=IsChecked, Converter={StaticResource BoolToDefaultBooleanConverter}}"
                                   ShowMinorTickmarks="{Binding ElementName=showMinorCheckEdit, Path=IsChecked, Converter={StaticResource BoolToDefaultBooleanConverter}}"
                                   ShowLabels="{Binding ElementName=showLabelsCheckEdit, Path=IsChecked, Converter={StaticResource BoolToDefaultBooleanConverter}}">
                            <dxga:ArcScale.Layers>
                                <dxga:ArcScaleLayer>
                                    <dxga:ArcScaleLayer.Presentation>
                                        <dxga:CustomArcScaleLayerPresentation>
                                            <dxga:CustomArcScaleLayerPresentation.ScaleLayerTemplate>
                                                <ControlTemplate>
                                                    <Image Grid.Row="1" RenderTransformOrigin="0.5,0.5" Source="../Images/CircularScales/Shadow.png" Margin="-10,42,-10,-30" Height="71" VerticalAlignment="Bottom" Stretch="Fill"/>
                                                </ControlTemplate>
                                            </dxga:CustomArcScaleLayerPresentation.ScaleLayerTemplate>
                                        </dxga:CustomArcScaleLayerPresentation>
                                    </dxga:ArcScaleLayer.Presentation>
                                </dxga:ArcScaleLayer>
                                <dxga:ArcScaleLayer />
                            </dxga:ArcScale.Layers>
                            <dxga:ArcScale.LabelOptions>
                                <dxga:ArcScaleLabelOptions Orientation="LeftToRight" ShowFirst="False" Offset="-46" ZIndex="1" />
                            </dxga:ArcScale.LabelOptions>
                            <dxga:ArcScale.MinorTickmarkOptions>
                                <dxga:MinorTickmarkOptions ShowTicksForMajor="True" Offset="-24" />
                            </dxga:ArcScale.MinorTickmarkOptions>
                            <dxga:ArcScale.Needles>
                                <dxga:ArcScaleNeedle x:Name="hourIndicatorMoscow" Value="1.5" />
                                <dxga:ArcScaleNeedle x:Name="minuteIndicatorMoscow" Value="2.5" />
                                <dxga:ArcScaleNeedle x:Name="secondIndicatorMoscow" Value="2.6" />
                            </dxga:ArcScale.Needles>
                            <dxga:ArcScale.CustomElements>
                                <dxga:ScaleCustomElement HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
                                    <Grid RenderTransformOrigin="0.5, 0.5" Margin="42">
                                        <Grid.RowDefinitions>
                                            <RowDefinition Height="*"/>
                                            <RowDefinition Height="*"/>
                                        </Grid.RowDefinitions>
                                        <Image Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center" Source="../Images/CircularScales/IconMoscow.png" Stretch="None" />
                                        <TextBlock Grid.Row="1" Margin="0,0,0,-85" FontSize="16" HorizontalAlignment="Center" VerticalAlignment="Bottom" Text="Moscow" Foreground="#FF484E5A"/>
                                    </Grid>
                                </dxga:ScaleCustomElement>
                            </dxga:ArcScale.CustomElements>
                        </dxga:ArcScale>
                    </dxga:CircularGaugeControl.Scales>
                </dxga:CircularGaugeControl>
            </Grid>
        </Grid>
    </dxdb:DemoModuleControl>
</local:GaugesDemoModule>