Mini Kabibi Habibi
<local:ChartsDemoModule x:Class="ChartsDemo.Pie2DControl" 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:Pie2DKindToPie2DModelConverter x:Key="Pie2DKindToPie2DModelConverter" />
<local:NullableBooleanToInvertedBoolConverter x:Key="InvertedBoolConverter"/>
</ResourceDictionary>
</local:ChartsDemoModule.Resources>
<dxdb:DemoModuleControl SupressGroupFramePaddingInOptions="False">
<dxdb:DemoModuleControl.OptionsContent>
<StackPanel MinWidth="130">
<dxe:CheckEdit Name="chbVisible" Content="Show Labels" Margin="0,0,0,10" IsChecked="True" />
<dx:GroupFrame Header="Position" Margin="0,2,0,10" IsEnabled="{Binding ElementName=chbVisible, Path=IsChecked}">
<dxe:ListBoxEdit Name="lbPosition"
Background="{x:Null}"
ShowBorder="False"
SelectedIndex="0"
>
<dxc:PieLabelPosition>Outside</dxc:PieLabelPosition>
<dxc:PieLabelPosition>Inside</dxc:PieLabelPosition>
<dxe:ListBoxEdit.StyleSettings>
<dxe:RadioListBoxEditStyleSettings />
</dxe:ListBoxEdit.StyleSettings>
</dxe:ListBoxEdit>
</dx:GroupFrame>
<dx:GroupFrame Header="Hole Radius Percent" Margin="0,0,0,10">
<StackPanel>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="0" HorizontalAlignment="Left" />
<TextBlock Grid.Column="1" Text="50" HorizontalAlignment="Center" />
<TextBlock Grid.Column="2" Text="100" HorizontalAlignment="Right" />
</Grid>
<dxe:TrackBarEdit Name="slHoleRadiusPercent" Value="0" Minimum="0" Maximum="100">
<dxe:TrackBarEdit.TickPlacement>None</dxe:TrackBarEdit.TickPlacement>
</dxe:TrackBarEdit>
</StackPanel>
</dx:GroupFrame>
<dx:GroupFrame Header="Sweep Direction" Margin="0,0,0,10">
<dxe:ListBoxEdit Name="rblSweepDirection"
Background="{x:Null}"
ShowBorder="False"
SelectedIndex="0"
SelectedIndexChanged="rblSweepDirection_SelectedIndexChanged">
<dxc:PieSweepDirection>Counterclockwise</dxc:PieSweepDirection>
<dxc:PieSweepDirection>Clockwise</dxc:PieSweepDirection>
<dxe:ListBoxEdit.StyleSettings>
<dxe:RadioListBoxEditStyleSettings />
</dxe:ListBoxEdit.StyleSettings>
</dxe:ListBoxEdit>
</dx:GroupFrame>
<dx:GroupFrame Header="Rotation" Margin="0,0,0,10">
<StackPanel>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="-360" HorizontalAlignment="Left" />
<TextBlock Grid.Column="1" Text="0" HorizontalAlignment="Center" />
<TextBlock Grid.Column="2" Text="360" HorizontalAlignment="Right" />
</Grid>
<dxe:TrackBarEdit Name="slRotation" Value="0" Minimum="-360" Maximum="360">
<dxe:TrackBarEdit.TickPlacement>None</dxe:TrackBarEdit.TickPlacement>
</dxe:TrackBarEdit>
</StackPanel>
</dx:GroupFrame>
<dx:GroupFrame Header="Model" Margin="0,2,0,10">
<dxe:ListBoxEdit Name="lbModel"
Background="{x:Null}"
ShowBorder="False"
ItemsSource="{Binding PredefinedPie2DKinds, Source={StaticResource DemoValuesProvider}}">
<dxe:ListBoxEdit.StyleSettings>
<dxe:RadioListBoxEditStyleSettings />
</dxe:ListBoxEdit.StyleSettings>
</dxe:ListBoxEdit>
</dx:GroupFrame>
</StackPanel>
</dxdb:DemoModuleControl.OptionsContent>
<Grid>
<dxc:ChartControl Name="chart"
MouseUp="chart_MouseUp"
MouseDown="chart_MouseDown"
BorderThickness="0"
QueryChartCursor="chart_QueryChartCursor"
MouseMove="chart_MouseMove"
EnableAnimation="True"
ToolTipEnabled="{Binding ElementName=chbVisible, Path=IsChecked, Converter={StaticResource InvertedBoolConverter}}">
<dxc:ChartControl.Diagram>
<dxc:SimpleDiagram2D>
<dxc:SimpleDiagram2D.Series>
<dxc:PieSeries2D x:Name="Series" ArgumentScaleType="Qualitative" AnimationAutoStartMode="SetStartState"
HoleRadiusPercent="{Binding ElementName=slHoleRadiusPercent, Path=Value}"
Rotation="{Binding ElementName=slRotation, Path=Value}"
SweepDirection="{Binding ElementName=rblSweepDirection, Path=SelectedItem}"
Model="{Binding ElementName=lbModel, Path=SelectedItem, Converter={StaticResource Pie2DKindToPie2DModelConverter}}">
<dxc:PieSeries2D.PointAnimation>
<dxc:Pie2DFlyInAnimation Duration="0:0:1.5" PointOrder="Random" />
</dxc:PieSeries2D.PointAnimation>
<dxc:PieSeries2D.PointOptions>
<dxc:PointOptions PointView="ArgumentAndValues">
<dxc:PointOptions.ValueNumericOptions>
<dxc:NumericOptions Format="Percent" Precision="0" />
</dxc:PointOptions.ValueNumericOptions>
</dxc:PointOptions>
</dxc:PieSeries2D.PointOptions>
<dxc:PieSeries2D.Label>
<dxc:SeriesLabel Visible="{Binding ElementName=chbVisible, Path=IsChecked}"
dxc:PieSeries.LabelPosition="{Binding ElementName=lbPosition, Path=SelectedItem}"
RenderMode="RectangleConnectedToCenter" />
</dxc:PieSeries2D.Label>
<dxc:PieSeries2D.Points>
<dxc:SeriesPoint Argument="USA" Value="9.63142" />
<dxc:SeriesPoint Argument="Canada" Value="9.98467" />
<dxc:SeriesPoint Argument="Russia" Value="17.0752" />
<dxc:SeriesPoint Argument="Others" Value="81.2" />
<dxc:SeriesPoint Argument="India" Value="3.28759" />
<dxc:SeriesPoint Argument="Australia" Value="7.68685" />
<dxc:SeriesPoint Argument="Brazil" Value="8.511965" />
<dxc:SeriesPoint Argument="China" Value="9.59696" />
</dxc:PieSeries2D.Points>
</dxc:PieSeries2D>
</dxc:SimpleDiagram2D.Series>
</dxc:SimpleDiagram2D>
</dxc:ChartControl.Diagram>
<dxc:ChartControl.Titles>
<dxc:Title Dock="Top" HorizontalAlignment="Center" FontSize="24">Area of Countries</dxc:Title>
<dxc:Title Dock="Bottom" HorizontalAlignment="Right" FontSize="12" Foreground="Silver" Margin="0,10,0,0">From www.nationmaster.com</dxc:Title>
</dxc:ChartControl.Titles>
</dxc:ChartControl>
</Grid>
</dxdb:DemoModuleControl>
</local:ChartsDemoModule>