Mini Kabibi Habibi
<local:EditorsDemoModule x:Class="EditorsDemo.CalcEditModule"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:EditorsDemo"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:col="clr-namespace:System.Collections;assembly=mscorlib"
xmlns:utils="clr-namespace:EditorsDemo.Utils"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase">
<local:EditorsDemoModule.Resources>
<local:ObjectList x:Key="displayFormats">
<utils:FormatWrapper FormatName="No formatting" FormatString="" />
<utils:FormatWrapper FormatName="Number" FormatString="n" />
<utils:FormatWrapper FormatName="Currency" FormatString="c" />
<utils:FormatWrapper FormatName="Scientific" FormatString="e" />
<utils:FormatWrapper FormatName="Percent" FormatString="p" />
</local:ObjectList>
</local:EditorsDemoModule.Resources>
<dxdb:DemoModuleControl>
<dxdb:DemoModuleControl.OptionsContent>
<StackPanel Width="250">
<dx:GroupFrame Header="PopupCalcEdit properties">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition Height="0" />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0,0,6,4">Value:</TextBlock>
<TextBlock Grid.Row="1" Grid.Column="0" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0,0,6,4">Precision:</TextBlock>
<TextBlock Grid.Row="3" Grid.Column="0" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0,0,6,12">Display format:</TextBlock>
<dxe:CheckEdit x:Name="cbCustomErrorText" Grid.Row="4" Grid.ColumnSpan="2" HorizontalAlignment="Left" VerticalAlignment="Center" Content="Show custom error text" />
<dxe:TextEdit HorizontalContentAlignment="Right"
Grid.Row="0" Grid.Column="1"
EditValue="{Binding Path=Value, ElementName=editor}"
Margin="0,0,0,4"
IsReadOnly="True"
/>
<dxe:SpinEdit Grid.Row="1" Grid.Column="1"
EditValue="{Binding Path=Precision, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ElementName=editor, Converter={utils:DecimalToConverter}, ConverterParameter={x:Type sys:Int32}}"
IsFloatValue="False"
Margin="0,0,0,4"
MinValue="0"
MaxValue="28" />
<dxe:ComboBoxEdit x:Name="displayFormat"
Grid.Column="1" Grid.Row="3"
SelectedIndex="0"
IsTextEditable="False"
ItemsSource="{StaticResource displayFormats}" DisplayMember="FormatName" ValueMember="FormatString" Margin="0,0,0,12" />
</Grid>
</dx:GroupFrame>
<dx:GroupFrame Header="Calculator properties" Margin="0,18,0,0">
<Grid>
<dxe:CheckEdit Content="Is digital display"
EditValue="{Binding Path=IsDigitalDisplay, Mode=TwoWay, ElementName=calculator}"
/>
</Grid>
</dx:GroupFrame>
<Button Click="ShowCalculatorWindow" Content="Show calculator window" HorizontalAlignment="Center" Margin="20,80,20,20" Padding="16,10" />
</StackPanel>
</dxdb:DemoModuleControl.OptionsContent>
<ScrollViewer>
<Grid Margin="24,16,24,24">
<Grid.RowDefinitions>
<RowDefinition Height="0.20*" />
<RowDefinition Height="0.80*" />
</Grid.RowDefinitions>
<dx:GroupFrame Grid.Row="0" Header="PopupCalcEdit">
<dxe:PopupCalcEdit x:Name="editor"
CustomErrorText="CalculatorCustomErrorText"
IsPopupAutoWidth="False"
Margin="16,0,16,0"
MaxWidth="260"
Value="42"
VerticalAlignment="Center">
<dxe:PopupCalcEdit.DisplayFormatString>
<Binding Path="EditValue" ElementName="displayFormat" Mode="TwoWay">
<Binding.UpdateSourceTrigger>PropertyChanged</Binding.UpdateSourceTrigger>
</Binding>
</dxe:PopupCalcEdit.DisplayFormatString>
</dxe:PopupCalcEdit>
</dx:GroupFrame>
<dx:GroupFrame Grid.Row="1" Header="Calculator" Margin="0,12,0,0" UseLayoutRounding="True">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.1*" />
<ColumnDefinition Width="0.8*" />
<ColumnDefinition Width="0.1*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.01*" />
<RowDefinition Height="0.94*" />
<RowDefinition Height="0.05*" />
</Grid.RowDefinitions>
<Grid Grid.Column="1" Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<TextBlock Text="History:" Grid.Column="1" Margin="0,0,0,4" />
<dxe:Calculator x:Name="calculator" Grid.Row="1" VerticalAlignment="Top" Margin="0,0,16,0" />
<Grid Grid.Column="1" Grid.Row="1">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<ListBox ItemsSource="{Binding History, ElementName=calculator}" />
<Button Grid.Row="1" Click="Button_Click" Content="Clear" Margin="0,4,0,0" HorizontalAlignment="Left" MinWidth="80" />
</Grid>
</Grid>
</Grid>
</dx:GroupFrame>
</Grid>
</ScrollViewer>
</dxdb:DemoModuleControl>
</local:EditorsDemoModule>