Mini Kabibi Habibi

Current Path : C:/Users/Public/Documents/DXperience 13.1 Demos/Silverlight/Bin/ClientBin/
Upload File :
Current File : C:/Users/Public/Documents/DXperience 13.1 Demos/Silverlight/Bin/ClientBin/GridDemo.xap

PKc�B�*�$AppManifest.xaml
 �:�b��:�b��:�b�<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" EntryPointAssembly="GridDemo" EntryPointType="GridDemo.App" RuntimeVersion="5.0.61118.0">
  <Deployment.Parts>
    <AssemblyPart x:Name="GridDemo" Source="GridDemo.dll" />
    <AssemblyPart x:Name="System.Xml.XPath" Source="System.Xml.XPath.dll" />
    <AssemblyPart x:Name="System.Windows.Controls.Data.Input" Source="System.Windows.Controls.Data.Input.dll" />
  </Deployment.Parts>
  <Deployment.ExternalParts>
    <ExtensionPart Source="DevExpress.Charts.v13.1.Core.zip" />
    <ExtensionPart Source="DevExpress.Data.v13.1.zip" />
    <ExtensionPart Source="DevExpress.DemoData.v13.1.Core.zip" />
    <ExtensionPart Source="DevExpress.DemoData.v13.1.zip" />
    <ExtensionPart Source="DevExpress.Printing.v13.1.Core.zip" />
    <ExtensionPart Source="DevExpress.Xpf.Charts.v13.1.zip" />
    <ExtensionPart Source="DevExpress.Xpf.Core.v13.1.zip" />
    <ExtensionPart Source="DevExpress.Xpf.Core.v13.1.Extensions.zip" />
    <ExtensionPart Source="DevExpress.Xpf.DemoBase.v13.1.zip" />
    <ExtensionPart Source="DevExpress.Xpf.Docking.v13.1.zip" />
    <ExtensionPart Source="DevExpress.Xpf.Grid.v13.1.Core.zip" />
    <ExtensionPart Source="DevExpress.Xpf.Grid.v13.1.zip" />
    <ExtensionPart Source="DevExpress.Xpf.Grid.v13.1.Extensions.zip" />
    <ExtensionPart Source="DevExpress.Xpf.Layout.v13.1.Core.zip" />
    <ExtensionPart Source="DevExpress.Xpf.LayoutControl.v13.1.zip" />
    <ExtensionPart Source="DevExpress.Xpf.Mvvm.v13.1.zip" />
    <ExtensionPart Source="DevExpress.Xpf.Printing.v13.1.zip" />
    <ExtensionPart Source="DevExpress.Xpf.Themes.DeepBlue.v13.1.zip" />
    <ExtensionPart Source="DevExpress.Xpf.Themes.DXStyle.v13.1.zip" />
    <ExtensionPart Source="DevExpress.Xpf.Themes.LightGray.v13.1.zip" />
    <ExtensionPart Source="DevExpress.Xpf.Themes.MetropolisDark.v13.1.zip" />
    <ExtensionPart Source="DevExpress.Xpf.Themes.MetropolisLight.v13.1.zip" />
    <ExtensionPart Source="DevExpress.Xpf.Themes.Office2007Black.v13.1.zip" />
    <ExtensionPart Source="DevExpress.Xpf.Themes.Office2007Blue.v13.1.zip" />
    <ExtensionPart Source="DevExpress.Xpf.Themes.Office2007Silver.v13.1.zip" />
    <ExtensionPart Source="DevExpress.Xpf.Themes.Office2010Black.v13.1.zip" />
    <ExtensionPart Source="DevExpress.Xpf.Themes.Office2010Blue.v13.1.zip" />
    <ExtensionPart Source="DevExpress.Xpf.Themes.Office2010Silver.v13.1.zip" />
    <ExtensionPart Source="DevExpress.Xpf.Themes.Office2013.v13.1.zip" />
    <ExtensionPart Source="DevExpress.Xpf.Themes.Seven.v13.1.zip" />
    <ExtensionPart Source="DevExpress.Xpf.Themes.TouchlineDark.v13.1.zip" />
    <ExtensionPart Source="DevExpress.Xpf.Themes.VS2010.v13.1.zip" />
    <ExtensionPart Source="DevExpress.Xpo.v13.1.zip" />
    <ExtensionPart Source="System.ComponentModel.DataAnnotations.zip" />
    <ExtensionPart Source="System.Data.Services.Client.zip" />
    <ExtensionPart Source="System.ServiceModel.DomainServices.Client.zip" />
    <ExtensionPart Source="System.ServiceModel.DomainServices.Client.Web.zip" />
    <ExtensionPart Source="System.ServiceModel.Extensions.zip" />
    <ExtensionPart Source="System.ServiceModel.Web.Extensions.zip" />
    <ExtensionPart Source="System.Windows.Controls.Data.zip" />
    <ExtensionPart Source="System.Windows.Controls.DomainServices.zip" />
    <ExtensionPart Source="System.Windows.Data.zip" />
    <ExtensionPart Source="System.Windows.Interactivity.zip" />
    <ExtensionPart Source="System.Xml.Linq.zip" />
    <ExtensionPart Source="System.Xml.Serialization.zip" />
    <ExtensionPart Source="DevExpress.Xpf.Ribbon.v13.1.zip" />
    <ExtensionPart Source="System.Windows.Controls.zip" />
  </Deployment.ExternalParts>
</Deployment>PKc�B�j
���$GridDemo.dll
 *E:�b�*E:�b�*E:�b�MZ����@���	�!�L�!This program cannot be run in DOS mode.

$PEL�D�Q�!�� �  @���O����  H.text$� � `.rsrc���@@.reloc�@B�Hdd0v��M{*{*F~(!
��*J~��("
*F~(!
t=*6~("
*F~(!
�>*J~�>("
*F~(!
�>*J~�>("
*{
*"}
*{*"}*{*"}*{
*"}
*{*"}*{*"}*{*"}*{*"}*{*"}*0�s$

o%
o%
}s&
rpo'
rpo'
r'po'
r9po'
}((
('{o)
�s*
�"s+
s,
(�s*
�#s+
s,
(� s*
s-
(�!s*
s-
(*�(
2(o.
(
o/
*�(23(o.
((%o0
&(o1
(o2
*0U(($,*(o.
(s3
o4
((&-(o1
(s5
o6
*�((&,*(o1
((s5
o6
*6(
��*6(��*0I(o.
o7
+o8
tA
o9
(:
,�o;
-��
,o<
�***;
0m(o1
(o=

(>

(o.
o7
+o8
tAo9
(:
,�o;
-��,o<
�**1,]0E(o1
o?
+o@

(>
(:
,�o;
-��
,o<
�**&7
0N{	,*}	rMpsB
(C
r�p(D
t}r�p(D
t}*0�r�p��(E
�(E
��sF
(G
�rp�=(E
�(E
sH
(G
�r3p�>(E
�(E
�>sF
(G
�r�p�>(E
�(E
�>sF
(G
�*J��,+��*J��-+��*(I
*(J
*
*J��-+��*J��,+��*J��-+�*.r�psK
z(I
*08-*t�rprpoL

rprOp(M
(N
(O
*sP
z(I
*n,rYpoQ
r�p(M
**sR
z(I
*0Su�
-*~oaoS
,~oaoT
*oc(U
~oaoV
*.sW
�*(X
*J��-+�u*sP
z(I
*�-*�)3r�p*�)-r�p**sP
z(I
*^(Y
#���*Z(Z
-+ ^��*(I
*0D�
([
-*(\
E+r�p*r�p*r�p**sP
z(I
*0:�
(]
-*(^
E+r�p*r�p**sP
z(I
*0N	�
(_
-*(`
E+r�p*rp*r+p*rCp**sP
z(I
*
*2t
oa
*(I
*0V
ob
~oc
+$(d

oe
,rMprOp(M
�(f
-���o<
�**1DF-*t�(Q*sP
z0Os&

r�po'
r�po'
r�po'
r�po'
rpo'
rpo'
�*(I
*�-*r)pt�rp~g
oL
rOp(M
*sP
z(I
*{*"}*�-*t�(Y(:
-rup*r�p*sP
z(I
*0�,uW-�>*�W
(h
(i
(j
2	(j
+
(j
X(j
2	(j
+
(j
X
	(h
(j
27	03(j
(h
(j
.+(k
(h
(k
�-+�>*sP
z(I
*~-*u�-u��+��*sP
z(I
*{*"}*r���(da-+�>*sP
z(I
*2(Y
�*2(l
��*(I
*F(Y
(m
�*F(Y
(m
�*
*(J
*(n
*F~(!
t�*6~("
*F~(!
t�*6~("
*^(o
�(E
(p
*0Sr�p�(E
�(E
sq
(r
�r�p�(E
�(E
sq
(r
�*^(s
�(E
(p
*�r�p�F(E
�(E
sq
(r
�*^(t
�(E
(u
*F~(!
tF*6~("
*{*"}*v(v
r�p(w
tG(}*:(I
}******2{o|*
*�r�p�K(E
�(E
sq
(r
�*f(x
%��sy
(z
*
*{*"}**f({
%��sy
(|
*F~(!
tK*6~("
*(v
*0H(�-%o�(�(�,(�o�o}
(�,(�s�*(�*��K(E
(~
o
(�
tK*�(�
(�
,(�,(�o�
o�
*n(�-*(�o�
o�
*{*v{3*}r�p(�*:(I
(�*0)
{
(�
tM|(+
3�*0)
{
(�
tM|(+
3�*n{,{s�
o�
*0s�

rpo�
s�
*
*�o�-*o�o�
o�
tQoa
tK**0zs�

o�
uO(�o�
s	oos�
o�
o�
o�

o�
	o�
	o�
o�
o�
*0/o�o�
o�
&o�
t�
oo�
o�
*0@(�o�o�
o�
Y
+ o�o�
o�
tQ(�Y
/�**(�*{ *0!} s�

{ o�
(�
*(�
*0^(^o�
+2o�
t�
oat�(:
,oc(U
�o;
-��u�
	,	o<
�**>I(X
*(�*08t�
r5p(:
-rCp(:
-r_p(:
-+�>*sP
z(I
*(�
*0)
{!
(�
tM|!(+
3�*0)
{!
(�
tM|!(+
3�*0CsW
}"(�
rip��(�rprp(�r'prp(�*2{"o�
*>s�o�
&*0
s�o�
&*0o�
ob

{"o�
*�{"o�
ob
o�
o�
(�*n{!,{!s�
o�
*&(�
*
*&(�
*
*Rt�(�
���*sP
z(I
*{#*N}#rop(�*{$*N}$r�p(�*n{%,{%s�
o�
*0)
{%
(�
tM|%(+
3�*0)
{%
(�
tM|%(+
3�*:}$(I
*0rps�

t�(�
��*0��
(�
*(I
*0't�(�
,*t�(�
(�

�W*0-*�W
(�
(�
*(I
*{&*{(*"}(*0q(�
}&(I
s�

(�o�
o�
(�(�o.
rps3
o4
(�o1
rps5
o6
(�o�
&*0)
{'
(�
tM|'(+
3�*0)
{'
(�
tM|'(+
3�*n{',{'s�
o�
*Z,	�-.+�>*sP
z(I
*�(I
(�(�(�(�(�*{,*"},*{-*"}-*{.*"}.*{/*"}/*{0*"}0*0�%
9�rp(:
-(r'p(:
-r�p(:
-Er�p(:
-T*rp(:
-(�+(�(�,yr�p(�
(�*(�(�,Wr�p(�*(�(�,rp(�*(�rMp(�
,(�(�-
rWp(�*�(�(�,-(�rMp(:
-(�(�-
rp(�*R,o�
o�
�**�,&r�po�
2o�
r�po�
X�***>o�
o�
*{1*"}1*0N(I
 �(�(+s�
(�(�(+s�
(���s*
s-
(�*{2*"}2*{3*"}3*2(�o�
*2t1o�*F~4(!
��*J~4��("
*v(�-r�p+rp(�
&*�rp��(E
�1(E
����s�
s�
(r
�4*(s
*02u$
(�
,#�*{�
u&o�
*^r;p�(m
s�
*(I
*(�*(�*0k(h

~5o�
,71~5Po�
(Yl(�

12~5o�
(i

+~5Zo�
ZYl(�

*V~52o�

X(�
*0�s�

(�
o�

+U	o�
t�s	o�
oo�
o(�oo�
oo�
oo�
	o;
-��	u�,o<
�*ar0�s�

(�
o�

+_	o�
t)so�
oo�
o(�o
oo(�
o(�oo�
	o;
-��	u�,o<
�*k|.s�
�5*(I
*{6*"}6*{7*"}7*{8*"}8*{9*"}9*{:*"}:*(I
*{;*"};*{<*"}<*{=*"}=*{>*"}>*{?*"}?*{@*"}@*(I
*{D*"}D*{E*"}E*0��
rMp�r]p�*{A*R|Arop(+&*{B*j|Br�p(+&(#*{C*R|Cr�p(+&*�(�
(�((�((#}C*v(,(+((*V(�
}F}G*0Ht^
o�
o�
-2o�
(Y
#��@4{F*#��@7{G**{H*j|Hr�p(+&(4*{I*j|Irp(+&(4*{J*�|JrWp(+&(4(5*{K*R|Kr�p(+&*{L*R|Lr�p(+&*{M*R|Mr�p(+&*{N*R|Nr�p(+&*v(*-(&+(((/*^(*,(1(3*(�
*:(�
}O*�{Or�p�ZoQ
o�(�
*6{Oo�*6{Oo�*6{Oo�*6{Oo�*{P*"}P*{Q*"}Q*V(�
(>(@*{R*�s�
(�
t s�
}R(�
*(�
*0Xt-
-*o�
t-r	p�o�
�o�
�o�
�o�
�o�
�(�
*sP
z(I
*{S*"}S*{T*"}T*(I
*�(�
}U}V}W}X}Y*
*b{X��{Yo_*f{X��{Yo^*{W*{U*.�A(E
*{V**
*{Z*"}Z*{[*"}[*0( �@
(W(W3(Y(Y�**:(W(Ya*�s�
}_(I
 �}] �}^oh*0& {_�@(Z(Xo�
*0!
{_�@(Z(Xo�
,*-	X��*Y]E ;Yn��8�~D~D�i(c�o�*~D~D�i(c�o�*(�

(cl(�
�W*(c,+��* '(c��*В(E
(�
o�
(c��*~R~R�i(c�*sP
z0�-rO	p*Y]
E)6CP+[r[	p(a*re	p(a*r_p(a*rCp(a*rk	p(a*ru	p(a*r�	p(a*sP
z0-"�
�r�	p�X���r�	p�(�
*0�-�(E
*Y]
E
#.9D+M�(E
*�(E
*�W(E
*��(E
*�(E
*В(E
*�(E
*sP
zX]*{]*f/(d3*}]*{^*~/(f3*}^oh*0C#(f�?
+(`(bsM�X(f2�s�
}`*{`*rp*(d*
*��*
*
*
**sP
zsP
zsP
zsP
zsP
zsP
zsP
z��**0�r�	p�(E
�B(E
#�s�
(G
�ar�	p�b(E
�B(E
 � � � �(�
�bs�
(G
�br�	p�(E
�B(E
#�?�s�
(G
�c*F~a(!
�*J~a�("
*F~b(!
�b*J~b�b("
*F~c(!
�*J~c�("
*(�
*�(I
}d}e}f}g}h*{j*"}j*{d*v(�3*}dr�	p(�*{e*�(�(:
,*}er�	p(�*{f*v(�3*}fr
p(�*{g*v(�3*}gr�	p(�*n{i,{is�
o�
*{k*"}k*0)
{i
(�
tM|i(+
3�*0)
{i
(�
tM|i(+
3�*(�
*0�r
p�(E
�E(E
#i@���s
s
(G
�qr9
p�(E
�E(E
��s
(G
�rrY
p�(E
�E(E

��s
(G
�sry
p�F(E
�E(E
�Fs
(G
�t*0$$uE
o�(
�(
o
*0���
r�
p�r�
p�r�
p�r�
p�r�
p�r�
p�r�
p�r�
p�r�
p�	rp�
r#p�r=p�}ps�
}zs
}{(�
s�}vs
}w{w#i@(
o
{w��s
o	
}y*{v*{w*f(

��s
o
&*(�*�(�,"(�,
{zo�
*{zo�
**R(�,
(��**R(�,
(��**0)%#��@(
&(�EG�*(�
9�{y{Eo

(
9�rWp(�~c(�*{x>�{x(�>�(�
%{xY}x{y{Fo

(
,Mo�ryp(�s�o�o�
	��s
o
~c(�*(�*{x1(�(�*�(�o
&{{o�o
&*6{y(�*�(
�s
(
(�(
o
*0j&(�
o�l{z 'o�
o�{y{Co


(
,*o�l2r�p+r�p(�~b(�*0�'(�
{z<o�
o�{y{Do

(
,Ur1p(�o
o
t;o
o
(�o|o
o
o
o�lo
+:s
o
s

	~
(
o 
	o�ls!
o"
	o#
~a(�*0,((�{z(�o$
o�
o%

o�-�*0�)
{x(�<�{p{z{p�io�
�%{|X%}|{z 'o�
{zdo�
s�
(�o�lo}(�{z(�o$
o�
o&
%{xX}x*03}|(�o'
}x
+(�&X
(�2�*2(�o(
*2(�o)
*01*
{{o�o*
-s�
{{o�o+
*F~q(!
�*J~q�("
*F~u(!
�*J~u�("
*F~r(!
��*J~r��("
*F~s(!
��*J~s��("
*F~t(!
�F*J~t�F("
*{�*"}�*{�*"}�*J(�(�o�*(I
*{�*"}�*0C(�
s(�(�(�(�(�(�(�(�*{�*R|�rcp(+&*{�*R|�r�p(+&*{�*R|�r�p(+&*{�*R|�r�p(+&*{�*R|�r
p(+&*{�*R|�rS
p(+&*{�*R|�r
p(+&*6o,
o-
*6o.
o/
*0�(�
s0
}�{�~�-��s1
��~�s2
(�{�~�-��s3
��~�s4
(�{���s5
o6
*�o7
r�
p(:
,{�o8
(�*02+(�{�{�o9
��s:
o+
o<
*0Oo=
-{�,>{�s>
o?
*r�
p(@
oA
oB
(M
rp(C
&oD
*0),{�
(�
tm|�(+
3�*0),{�
(�
tm|�(+
3�*{�*"}�*{�*"}�*{�*r{�.}�r�
poE
*0U-tL
oF
tFoG
oH
oI
oJ
r#poK
u�(�
-oL
oM
tY**(�
*0�.(N
oO
X�N
r=psP
�+rIp��(Q
sP
�X(N
oO
X2�(N
oO
X(N
oO
Xr]psP
�(N
oO
X(N
oO
Xr#psP
�s�
(R
*0~-(S
oT
oU
*(N
oO
X3(S
oT
oV
*(N
oO
X3(S
oT
oW
*(N
YoX
(S
oT
oU
oT
*(Y
*
*01/(Y

#4#Y@2(Z
+([
�Q*sP
z(J
*0_rsp�(E
�O(E
��s�
s�
(r
��r{p�(E
�O(E
sq
(r
��*2tOo�*2~�(!
*6~�("
*2~�(!
*6~�("
*b(�
��sy
(\
*(�*�(]
-(^
o_
(�oM
(�*{�*"}�*{�*"}�*{�*"}�*(�*�(�~���o`
,~���oa
*~g
*0X0~�ob
-K(�
u2
oc
+(d
~�oe
o�
of
(g
-���3o<
�*+IsP
z.sh
��*(I
*J(i
sj
(�*{�*"}�*0M1o�
u�ok

(�ol
,
(�om
*(QsB
sn
(�oo
*{�*"}�*{�*"}�*(I
*{�*{�*N}�r�poE
*�(�
}�r�p}�(�
�s*
s-
(	*{�*"}�*
*6t�(*(*(*(*(*(�
*{�*"}�*F~�(!
��*J~���("
*�r�p�(E
�Y(E
sp
(G
��*(q
*:(I
}�*2{�oV*"(#*f{��+s
o
&*"(#*f{��,s
o
&*(I
*^{-{.o`(%*0-2s�
}.}-{���s
o
&*0tsS}�}�(�
{��s
oX{��s
oZ{��sr
o\(s
ot
o

}�*:(}�*0F((, {�-{�((ooU+{�oU{�s( *{�*v{�3*}�r�poE
*2{�oW*{�*v{�3*}�r�poE
*{�*N}�r	poE
*{�*0Y{�3*}�rGpoE
(&,-(&ou
1(&(&ou
[ov
()*()*{�*�{�3*}�r]poE
(*:}�(*0X(�
s(/(1(3(7(5(9(;(=(?(A(C*{�*"}�*{�*R|�r�p(	+&*{�*R|�r�p(	+&*{�*R|�r�p(+&*{�*R|�r�p(+&*{�*R|�r!p(+&*{�*R|�rYp(+&*{�*R|�r�p(+&*{�*R|�r�p(+&*{�*R|�r�p(+&*{�*R|�r%p(+&*{�*R|�rUp(+&*:(�
(E*�r�p�@(E
�_(E
sw
(G
��*f(x
�KsP}�*Z(y
(L-*(J*�(z
(L{�({
(z
(L{�(|
*r(N-*(NsXo}
*{�*^}�(z
-*(J*F~�(!
t@*6~�("
*{�*"}�*{�*"}�*V(I
(U(W*(J
*~~
*^(
�c(E
(p
*~(I
(^o�
oQ
(`*{�*"}�*{�*"}�*s\*003~�-�bs�
��~�(
+s�

s�
*{�*R|�r�p(+&*{�*R|�r�p(+&*{�*R|�r�p(
+&*{�*"}�*{�*"}�*{�*"}�*
*0c(�
�ts�
�qs�
s�
(j�ss�
s�
(l�rs�
s�
(ns�
(f*"��*6(a(f*�,(co�
o�
��o}
*(co�
o�
o}
*0<4(eo�
+o�

o]o�
o�
o;
-��
,o<
�*%1
:(I
}�*{�*>(u}�*F(N
{�o�
*>(u}�*{�*(�
*r-��*�)����*sP
z(I
*J�Z����*J��-+�Z*(I
*0A5uL
,,o�
(�
 �s�
(�
,	(���&�(�
**
)3[{�*"}�*(�
*(I
*�(�
o�-
o�s�*(�*{�*"}�*(�*Zr�p(��X(Q
*Zrp(��X(Q
*6(�(�
*(�*Zr1p(��X(Q
*Zr�p(��X(Q
*6(�(�
*(�*Zr�p(��X(Q
*Zr�p(��X(Q
*6(�(�
*(�*Zrp(��X(Q
*Zrkp(��X(Q
*6(�(�
*(�*Zr�p(��X(Q
*Zr�p(��X(Q
*j�X(��X(�
�*(�*V(I
}�}�*{�*{�*~�*6s���*(�
*{�*v{�3*}�r�poE
*{�*�}�(�, (�o�
1(�o�
(�*{�*v{�3*}�rUpoE
*{�*v{�3*}�rpoE
*�(�
(�r9ps�
s�(�*{�*"}�*{�*"}�*{�*"}�*{�*"}�*{�*"}�*{�*"}�*{�*"}�*{�*"}�*{�*"}�*"(�
*2(�
(�
*J~���o"
*F~�o!
��*6(�(�*0d{�,*}�r�psB
(C
r(p(D
tK}�r2p(D
t�}�r<p(D
t�}�*�rNp�(E
�x(E
��s�
(�
��*6(�(�*0�{�,*}�rppsB
(C
r�p(D
t}�r�p(D
t�}�r�p(D
t�}�r�p(D
t�}�rp(D
t�}�r,p(D
t�}�rNp(D
t�}�rrp(D
t�}�r�p(D
t�}�r(p(D
tK}�*6(�(�*0N{�,*}�r�psB
(C
r(p(D
tK}�rp(D
t�}�*{�*6(�(�*0Q(�
{�o�
{�o�
tKo�
{�{�o�
{�o�
o�*b{�{�r4p(�*o�*�o�o�
o�
o�
tQ(�*0�{�,*}�rDpsB
(C
r�p(D
t�}�r�p(D
t�}�rp(D
t(}�r2p(D
tP}�r(p(D
tK}�rHp(D
t�}�rnp(D
t�}�r�p(D
t�}�r2p(D
t�}�*�(�
��s�
(�
��s�
(�
*�r�po�
,$(�
o�
r�po�
(�
o�
**�o�
r�po�
,rpo�
(�
**�{�-rp(+}�{�*6rp(�
*06s�
o�*{�*N}�r,po�*{�*N}�r4po�*{�*N}�r�	po�*{�*N}�r:po�*{�*N}�rPpo�*{�*N}�rdpo�*{*N}r|po�*{*N}r�po�*{*N}r�po�*0)
{
(�
tM|(+
3�*0)
{
(�
tM|(+
3�*n{,{s�
o�
*(I
*V�)(E
(�
(+*(I
*(�
*2~(!
*6~("
*{*"}*{*J(�
s�
}*�r�p�(E
Ѐ(E
sq
(r
�*{*"}*{*"}*{	*"}	*{
*"}
*{*"}*{*"}*Z(I
#��(*6((
(
*�{
,*}
r�psB
(C
*{*"}*0x7(�
tF
s�
(�
o�
+>o�

rp(:
-	o�
(:
,	o�
o�
3	so�
o;
-��,o<
�*Kj0w8(�
tF
s�
o�
+Ao�


0=rp(:
-	o�
(:
,	o�
3	so�
Xo;
-��,o<
�*Ni0b9(�
tL
s�
o�

+2	o�
rp(:
-o�
(:
,o�
3o�
	o;
-��
	,	o<
�*>V
0�(�
o�
(�
o�
(�
o�
(�
o�
(�
o�
(�
o�
(�
o�
(�
o�
(�
o�
(/(�
o�
(�
o�
(�
o�
(�
o�
(�
o�
(�
(�
(�
((*{*"}*(I
*(I
*�o�
{2o�
(:
,${1{/o�
o�
{1{0�**0�:s�}0(�
tF
(�
tP(�
}/s�
o�
+Oo�

s�}1	}2��s�
(+(+1	{0so�
o;
-��,o<
�*?\�(I
*(I
*�o�
{5o�
(:
,o�
{4{3�**0�;s�}3(�
tF
(�
tPs�
o�
+Oo�

s�}4	}5��s�
(+(+1	{3so�
o;
-��,o<
�*3\�0�(�
o�
(�
o�
(�
o�
(�
o�
(�
o�
(�
o�
(/(�
o�
(�
o�
(
o�
(
o�
(
o
(
-(�
(+(�
(
(*J(
( (
*J(
(!(
*�{-(
(}{*�{-rp(
(}{*�{-(
(}{*�{-rp(
(
}{*n{-(}{*o�
*0 <s.
o
o)(+o-*0=(~-�&s

�~(+~-�'s
�~(+(+
o

8�o
s�
o,o
+Vo

	oo�
+(o�
o
(�
o�
(�
(
o;
-��,o<
�o;
-��,o<
�(
o+o;
:]����,o<
�*(�5�yc�X�{*"}*0D>(�

s
o

+(
s#o
(
-���^o<
�*!40C?(
t_
s
o

+	o
s"o
	o;
-��
	,	o<
�*7
0�(
o
(
o
(
o 
(!
o"
(/(#
o
($
o%
(&
o'
((
o)
(*
o+
(,
o-
(.
o/
(0
o1
(2
o3
(4
o5
(6
o7
(8
o9
(:
o;
(<
*0�(
o=
(
o>
(
o?
(!
o@
(/(#
oA
($
oB
((
oC
(*
oD
(,
oE
(.
oF
(2
oG
(4
o@
(6
oH
(oI
(:
oJ
(%*{*"}*{*"}*{*"}*{*"}*(I
*0/%
,(rJp(:
-rRp(:
-+rXp*rtp**0>@u�
-*{oK
-rpoA
(
{oL
*sP
zJsM
}(I
*�r�p�!(E
Ћ(E
�4s
sN
(G
�*2t�o>*6((
(J*F~(!
t!*6~("
*b%{(�
tm}*b%{(�
tm}*b%{(�
tm}*b%{(�
tm}*b%{ (�
tm} *b%{ (�
tm} *J{"(6oO
*0As>

,o?
*F{!oP
(Q
*6{!oR
*2{"oS
*6{"oT
*2{"oU
*6{"oV
*{"*6{(?*6{(?*6{ (?*0�{&,*}&r�psB
(C
r?p(D
t�}!r_p(D
t�}"rp(D
t(}#r�p(D
t(}$r�p(D
t(}%*0hB~(oW
-V(�

~(oX
oY
o�
+o�
t-~(o�
o'
o;
-��u�
	,	o<
�~(*)(Q0�C~)oZ
-r([

~)oX
o\
o�

+5	o�
tk~)sho]
obo^
odo_
	o;
-��	u�,o<
�~)*)Aj0�D~*o`
:�(a

~*oX
ob
s�
o�
+eo�
tl~*sp
	oc
(Nol	od
oj	o�
lco�
l#Y@[Xl(e
on	of
o;
-��u�,o<
�~**3r�0@Eog
+(h

oa(:
,�(i
-���eo<
�**'.0>Fsj

(K(L(M
~k
oPs�
d[8�		o`
o�
ol
oW
o�
om
s�

Xor
(�
 �o�
l(n
(o
ox
ov
 �o�
Xo~
okoz
oio|
omo�
o�
�ot
		op
X]-X[(q
s_oRX?	���~k
oQ*Z{-,
{-o?
*Z{.,
{.o?
*Z{/,
{/or
*nss
},(I
�}+*&�{+**�}+*0tG~'%(t
(T{,ou
10{,(T{,ou
Y{,ou
X(Oov
{,(Tow

�
,(x
�*fh
(L*0),{-
(�
tm|-(+
3�*0),{-
(�
tm|-(+
3�*0),{.
(�
tm|.(+
3�*0),{.
(�
tm|.(+
3�*0)H{/
(�
t|/(+
3�*0)H{/
(�
t|/(+
3�*�sI
�'s&
�(sy
�)sz
�**:(>
}0*{0*{1*"}1*{2*"}2*(a*^u�,
t�(g**^({
(aoao|
*(I
*{3*"}3*{4*"}4*{5*"}5*(i*(I
*{6*"}6*{7*"}7*{8*"}8*{9*"}9*{:*"}:*{;*"};*{<*"}<*{=*"}=*(I
*~D*0I��
����*09��
r�p�r;p�r�p�r�p�rp�r'p�*(}
*{E*0BJ{E
(
(
3(�
(�
�+,*}Er3p(�*{F*�{F(:
,*}Fr�	p(�*{G*�{G(:
,*}Gr[	p(�*{H*0QK{H
(�
(�
3!(�
,(�
(�
(�
++,*}Hr_p(�*{I*0BL{I
(�
(�
3(�
(�
�+,*}IrCp(�*{J*0BM{J
(�
(�
3(�
(�
�+,*}Jrk	p(�*{K*0DN{K
(�
l(�
l3(�
(�
�+,*}Kr;p(�*{L*0BO{L
(�
(�
3(�
(�
�+,*}Lru	p(�*{M*0BJ{M
(
(
3(�
(�
�+,*}Mr5p(�*0)
{N
(�
tM|N(+
3�*0)
{N
(�
tM|N(+
3�*n{N,{Ns�
o�
*00P(�
o�

-o�
(�
,*o�
(�*(�*0BQ��s�
o�rSpo��s�o�rkpo��s�o�r�po��s�
	o�	r�po�	�s�o�r�po��s�o�r�po��s�o�r�po��s�o�rpo��s�o�r'po��	s�			o�	rCpo�	�
s�


o�
r[po�
�s�o�rupo��s�o�r�po��
s�


o�
r�po�
�s�o�r�po��s�o�r�po��s�o�r�po���D*(I
*{O*"}O*{P*"}P*(�*(I
*j~R~Q~R�iYo�
�*F~D(��o�*0/(�

~Qo�
1~Q2o�
el(�

*� �(
-~Qdo�
Z+~Q 'o�
ZXs�
*B~Q
o�
�*2~Qo�
*r~Qo�
#@�@Z(�
i*J~Q~D�io�
*0�Rs�
(�o�(�o�(�s�
o�(�s�
o�o�(�(�
-�i+
(
js�
o�(�s�
o�(�s�
o�(�ls!
o�*0{Ss�
s�
o�(�o�(�s�
o�(�s�
o�(�s�
o�(�s�
o�(�ls!
o�(�o�*0!Ts�

+(�o�
X2�*0!Ts�

+(�o�
X2�*0�s�
�Q��
r	p�r�p�r/p�r�p�r�p�r� p�r!p�rR!p�r�!p�	r"p�
rl"p�r�"p�r6#p�
r�#p�r'$p�r�$p�r%p�rb%p�r�%p�r�&p�r;'p��R*(�
*.(�
t�*^r�'psB
s�
(�*6s�
(�*"(�
*2(�
o+*nrG(p(�
rq(p(+*0-UsW

r�(poV
r�(p(�
r�(p(+*0EUsW

r�(poV
r))poV
rK)p(�
rK)p�(E
o+*0IUsW

r�(poV
r))poV
rK)p(�
rK)p�(E
o�
tm*08UsW

r))poV
r�)p(�
r�)p�(E
o+*0=UsW

r))poV
r�)p(�
r�)p�(E
o�
tm*s�*:(�
(+*(�
*{S*0lK{S
(�
(�
3!(�
,(�
(�
(�
++,.rPp(�
rPp�h(�
}SrPp(�
*{T*�{T(�
,)r4p(�
r4p(�
}Tr4p(�
*{U*0lK{U
(�
(�
3!(�
,(�
(�
(�
++,.r:p(�
r:p�h(�
}Ur:p(�
*{V*�{V(�
,#r,p�~(�
}Vr,p(�
*{W*�{W(�
,)rdp(�
rdp(�
}Wrdp(�
*{X*�{X(�
,)r�p(�
r�p(�
}Xr�p(�
*{Y*�{Y(�
,)r�	p(�
r�	p(�
}Yr�	p(�
*{Z*�{Z(�
,)r|p(�
r|p(�
}Zr|p(�
*{[*0`L{[
(�
(�
3(�
(�
��+,.r�p(�
r�p�$(�
}[r�p(�
*2{V�~*�r�)poe
-�(E
*�W(E
*0�Vs&

r�)po'
,r�)po'
(
o�

+4
o�
t.o'
rpo-
(M
o�
-o'

o;
-��
u�,o<
�s�
s�

8�(h
(�
Y8�-+	(�
	8�sW


r�)p	s�
�Wo�
,
r�)p
r�)poT
o�
X+)
om
 0u[o�
��o�
XoW
2�	
o�&	X		>h���X>@���Y=���	*+Al~(I
s�
}\(�}]*0@WoW
��
+ om
om
(�s��XoW
2�s�
*{]*~g
*R{\oX
o�
*N{\oX
oT
*N{\to�
*sP
zsP
zsP
zsP
z
*
*sP
zsP
z6{\oX
*sP
zsP
z2{\oO
*
*��*
*z(�
}^}_}`*Jt{^oT
*Nt{^o�
*
*
*.�M(E
*{`**
*0BXt�
tKoL
o�
o�
r�)p(:
-r�)p+r*poM
tY*(�
*0:Yss
oL
oM
t�o�

o�
&(�
t�o*{a*"}a*(o
*F~b(!
tN*6~b("
*F~c(!
t�*6~c("
*2t�o
*2t�o*6((
(*0�Z{d~�
rE*ps�

(o�
s�
o�
o�
&{d~�
rk*ps�
(o�
o�
&{d~�
r�*ps�
(o�
o�
o�
&*J{e(o�
*0N{f,*}fr�*psB
(C
r%+p(D
t�}dr7+p(D
t�}e*0krY+p�N(E
Р(E
�s�
s�
(r
�br{+p�(E
Р(E
�s�
s�
(r
�c**
*
*
*
*b%{g(�
t�}g*b%{g(�
t�}g*Z{g,
{go�
*:s�
(*:s�
(*sR
zsR
zsR
z
*sR
zsR
zsR
zsR
z
*
*
*(�
*�(I
}n}h}i}j}k}lrp}m*{h*{i*:}i(2*{j*:}j(2*{l*0L}l{l,{kd.d(-{l-{kd3(-r�+p(5(2*{k*0K}k{k/}k{kd1d}k{kd�(+r�+p(5(2*{m*:}m(2*J{nt�(1*0�[rp
+T{yoMoV,;r�+prp(:
-r�+p+rp{yoMo8(�
(�

X{yo�
2�rp(:
,r�+p
*6{no*0)
{o
(�
tM|o(+
3�*0)
{o
(�
tM|o(+
3�*n{o,{os�
o�
*V(I
}p}q*{p*{q*"}q*F~r(!
��*J~r��("
*F~s(!
��*J~s��("
*0k\(�
}t}ur�+ps�

{to�
o�
~r(�
&r�+ps�
{to�
o�
~s(�
&*2{to&*6{to'*2{to(*6{to)*2{uo8*2{to.*6{to/*0Sr�+p��(E
Ф(E
sw
(G
�rr�+p�(E
Ф(E
sw
(G
�s*0�]sJ
s�
+ho�
Xr�+pX
(�
(�
(�
o�
l(�
s$o�
&3oH2o-3oHdo-X~v2�*J(�
o
t�*:(�
o
*�v*(#*0^sO
	��
	r�+p�	r�+p�	r,p�	r%,p�	r1,p�	r=,p�	rM,p�	rY,p�	ru,p�	+o�
X�s6o�
&X�i2�*J(�
o
t�*:(�
o
*�w*(#*~(#(G}x(L}y*0�_sQ
s�
+o
+W{y{yo�
o�
oM{xoHoV-o�
{xoHs>o�
&	X
	~wo�
X2�X~v2�*J(�
o
t�*:(�
o
*07-*
+%(S{to�
,
s�
(X
(�
2�*08
+)(S{u3(S{to�
,*X
(�
2�*0),{|
(�
tm||(+
3�*0),{|
(�
tm||(+
3�*�(I
}z(R}{�Zs�
o�
(]*�(]{|,{|~k
o?
*Z{zo�
r�,po�
*Z([-*([o�
*�(\,{z{{o�
*{z{{{xo�
*0g`(�
,*~},~}*Щ(E
s�

з(E
o�
r�,p(�
r�,p(�
o�
o�
t�}~}**(�
*{~*"}~*{*"}*(I
*07ar�,ps�

s�
 ���jo�
s�
s�
(�
(�
*B{�(+�*B{�(+�*0Wb�B
��(E
���(E
�}��B��(E
���(E
�}�(�
*0Rc(�(k{� �(�o�
s�
o�

В(E
(�
o�
{�o�
*0�{�,*}�rU-psB
(C
r(p(D
tK}�r�-p(D
t�}�r�-p(D
t�}�r�-p(D
t�}�r.p(D
t�}�*v(�(m{�(�
o�
*0*{�,*}�r#.psB
(C
r�.p(D
t�}�r�.p(D
t�}�r�.p(D
t�}�r1/p(D
t�}�r}/p(D
t�}�r�/p(D
t�}�r�/p(D
t�}�r0p(D
t�}�rK0p(D
t�}�r�0p(D
t�}�r�0p(D
t�}�r(p(D
tK}�*0�ds�}�(�(v{�s�o)

+ms�rip��o�rp~�~�~��io�
�o�r'p~�~�~��io�
�o�{�o�
X
22�{�{�o�
{��os�
o�
*0Xo�
,({�o�
o�
o�
o�
o�o�
*{�o�
o�
o�
o�
o�
o�*^(q{�rpo�
*0le{�o�

+{�o�
(ro�X{�o�
2�s�
(so�
o�
o
{�o�
o
*0j{�o

E$5+D{�o
(
��*{�o�
*{�o
�W*{�o

�$**0.{�o

E+*****0+o

, oQ
(u-r�0po
o
*0Pf{�-*{�o�
o

+	o	

o�
(:
,�	o;
-��
	,	o<
�**'B
0�{�,*}�rb1psB
(C
r�1p(D
t}�r�1p(D
t�}�r2p(D
t�}�r2p(D
t�}�rD2p(D
t�}�rl2p(D
t�}�r�2p(D
t�}�r�2p(D
t(}�r(p(D
tK}�r�p(D
t�}�*0�g
��
r�2p�r�2p�r�2p�r3p�r
3p�r3p�r"3p�r,3p�r43p�	r@3p�
rN3p�r`3p�rh3p���
��rn3p�r�3p�r�3p�r�3p�r�3p�r�3p�r�3p�r�3p�r�3p�	r�3p�
r�3p�r4p�r4p���s�
��*01h(�(yа(E
o�
&(


(
s�
r$4p(
o

o
8�o

sW
rip	rip(
o
oV
rp	rp(
o
oV
r'p	r'p(
o
oV
rp	rp(
o
oV
r64p	r64p(
o
oV
r9p	r9p(
o
oV
o�
o;
:5����,o<
�{�o�
*F��{�,*}�rP4psB
(C
r(p(D
tK}�*f(�(�(|({*	
	


0hi{�o
2s
%�6(

+/{�(
{�o
(
o
o
Xo
2�{�o
*0�j{�(�o�
{�o�
r�)po�
o
{�o�
r�)po�
o
{�o
o

+r	o	

{�o
s
o�
o
o 
r�4po!
o"
s#
o$
o%
r�4po&
r�4ps�
o'
o�
	o;
-��
	,	o<
�*X~�
0�ko(
����(�
,}�o(
@�{�o�
,u{�o


(
,3{�o)
{�o�
o*
to+
o�
o,
,-o-
~.
. o-
,%{�o-
��X}�o(
3{���o/
*2{�o0
*2{�o0
*"(�*"(�*(I
*:{7(�*0#ls�}7s1

+c+H{�o
o
s2
{�{�o
o
o3
��s4
o5
X{�o
o6
2�X{�o7
2���s8
o9
{�o
{�o:
o;

+K{�o<
	YYo=
(>
o?
o<
	YYo=
(>
o@
o
	X
	o<
(A
2�{�o
*�,(B
(C
(C
oD
*(B
(C
(C
oD
*0d{�,*}�r�4psB
(C
r65p(D
t�}�r(p(D
tK}�r2p(D
t�}�*6(�(�*0z{�,*}�rJ5psB
(C
r�5p(D
t}�r(p(D
tK}�r�5p(D
t�}�r�p(D
t�}�*bt�(E
�-o�*F~�(!
�-*J~��-("
*N(�(�(�*f(�(^
{�oF
*n(�(�
-{�oG
*"oH
*0]-"{�o{{�o�
~I
oJ
*{�{�o{{�o�
{�soK
{�oG
*(�*0-k{�{�oL

(
-r�5p+r6po�
*&(�&*F{�r6poM
*F{�r�5poM
*0�{�,*}�r*6psB
(C
r�6p(D
t�}�r�6p(D
t�}�r�6p(D
t�}�r7p(D
t}�r(p(D
tK}�r�-p(D
t�}�*�r47p�-(E
г(E
�-��s�
s�
(r
��*{�*"}�*{�*"}�*{�*"}�*F~�(!
t�*6~�("
*0c(���s*
s-
(���s*
s-
(���s*
s-
(�(�{�{�oN
*0�moO
%(P
	(Q
9�	E��8�{�o



(
, oR
sS
rX7poT
oU
{�o

(
:8oR
sS

rr7poT
oU
oR
sS
r�7poT
oU
8�{�o

(
, oR
sS
r�7poT
oU
{�o



(
:�oR
sS
r�7poT
oU
oR
sS

	r8poT
	oU
+n{�o

(
, oR
sS
r.8poT
oU
oV
oW
{�(�
- oR
sS
rJ8poT
oU
oO
(P
3	(Q
+-+oV
t�(�*ju�,{�(l
oX
*07nu�
,,oY
,$oY
oI
oJ
oW
(�(�*0=ou�,4{�oZ
{���
(l
�o[
{�oZ
*0�po(
����(�
, �s\
}�o(
3]o-
�X
{� �s\
(]
,%}�}�+${�(^
}�{�(_
}�o(
3'{�{�(
s�
(`
�Xo/
*n{�-(�}�{�*0Uq{�o
oa
+*ob

oc
,oc
oQ
rv8p(:
,�o;
-��
,o<
�**6G
0Ek{�,<od
(�(�
,){�oe
of
u�og

(
oh
*0-k{�,$(�u�og

(
-+o 
*0(i
�&�*b{�t�o3
(Q
*0�{�,*}�r�8psB
(C
r�8p(D
t}�r9p(D
t�}�rD9p(D
t�}�rr9p(D
t�}�r�9p(D
t�}�r�9p(D
t�}�r:p(D
t�}�r,:p(D
t�}�r(p(D
tK}�r�5p(D
t�}�rH:p(D
t�}�r2p(D
t�}�rr7p(D
t�}�r�7p(D
t�}�r�7p(D
t�}�r8p(D
t�}�rJ8p(D
t�}�*�rb:pЩ(E
д(E
sj
(G
��*2(k
t6*0D(�(�{�ol
,(�{�om
&{���sn
oo
*06r{�ol
t"o

op
8�(q
o�
r�)poe
:�{�o�
s�
o�
o�
s#

	o$
	r�4po&
	r�4ps�
o'
	o%
	r�4por
	o�
o
{�o
s
o�
o
o 
r�4po!
o"
{�os
s
o�
o
o 
r�4po!
o"
(t
:�������o<
�*A'0�s{�os
ou
-(�(�o�
{�o�
r�)po�
o
,{�o�
r�)po�
ov
+{�r�)pow
{�om
&*0d{�,*}�r|:psB
(C
r�:p(D
t�}�r(p(D
tK}�r2p(D
t�}�*6(�(�*0d{�,*}�r;psB
(C
r~;p(D
t�}�r(p(D
tK}�r2p(D
t�}�*~(�(���sx
(y
*F{�oz
o{
*�{�,*}�r�;psB
(C
r<p(D
t�}�*6(�(�*
*0N{�,*}�r"<psB
(C
r(p(D
tK}�r2p(D
t�}�*0t(�(�s|

r�<prpr�<pr�<prMps�o}
r�<pr�<pr=pr4=prR=ps�o}
rj=prv=pr�=pr�=prMps�o}
r�=pr�=pr�=prprMps�o}
r>pr$>pr.>prn>prMps�o}
r�>pr�>prpr�>prMps�o}
r�>pr�>pr�>pr"?prMps�o}
{�o�
*0N{�,*}�r@?psB
(C
r(p(D
tK}�r2p(D
t�}�*6(�(�*
*0�{�,*}�r�?psB
(C
r�?p(D
t�}�r.@p(D
t�}�r^@p(D
t(}�r�@p(D
t�}�r(p(D
tK}�r2p(D
t�}�r�@p(D
t�}�*6(�(�*0V{�-*{�o~
,{�o~
.{�o~
3*{�o�
~
oJ
{�o�
~�
oJ
{�o~
.{�o~
.{�o~
3,{�r�@p(�o�
{�r�@p(�o�
{�o~
.{�o~
3 {�(L
rApoM
t�o�
{�o~
.{�o~
3 {�(L
r6ApoM
t�o�
{�o~
,{�o~
3{�~�
oJ
*rTAp*0d{�,*}�r�BpsB
(C
rqCp(D
t�}�r(p(D
tK}�r2p(D
t�}�*�(�(�{�r�Cp (s�
o�
*
*2{�o�
*0Co�
{�o�
o�
o�
{�o�
o�
o�
{�o�
o�
*0{�,*}�r�CpsB
(C
rDp(D
t�}�r=Dp(D
t�}�reDp(D
t�}�rDp(D
t(}�r�Dp(D
t�}�r�Dp(D
tK}�r�Dp(D
t�}�r�Dp(D
t�}�rH:p(D
t�}�r�Dp(D
t�}�r
Ep(D
t�}�*0a(�(�{rEpr)Eps�
o�
{r9Ep �s�
s�
o�
{���s�
o�
*(�*0]{�o~
-{o�
o�
{�o~
3{o�
o�
{�o~
3{o�
o�
*0�{,*}rMEpsB
(C
r�Ep(D
t�}�r�Ep(D
t�}�r�Ep(D
t�}�r5Fp(D
t�}�ryFp(D
t�}�r�Fp(D
t�}�rGp(D
t�}�r(p(D
tK}r�5p(D
t�}r�Dp(D
t�}*�(���s�
s�
(�()
(�*boToVt�(�*02ut��s�
(�

u�,o�
,o�
*0vu�
,o�
**{*"}*0N{,*}raGpsB
(C
r(p(D
tK}r�-p(D
t�}*N(�(�(�**�{
o�
{
r�Gpo�
{
rEpo�
*�{
o�
{
r�Gpo�
{
rEpo�
{
r9Epo�
*�{
o�
{
rEpo�
{
r9Epo�
*2{
o�
*0H{
-*{	o~

E*(�*(�*(�*(�*0d{,*}r�GpsB
(C
r-Hp(D
t�}r_Hp(D
t�}	r(p(D
tK}
*f(�(�{o�
*J{o~
(�*0�w{
o�
o�
{
o�
{
o�
o
+o	

o�
o�
o;
-��
,o<
�E(5*r�Gp(�*r9Ep(�*r9Ep(�*r9Ep(�*r�p(�*-!N
�{
o�
o�
o�
{
o�
*�{
o�
o�
o�
{
o�
*0lxo�
(Y
#$@[(�

o�
(Y
#$@[(�
(�
o�
#3@6#3@6o�
o�
*0�yo�
o�
3~o�
(Y
#$@[(�

rsHp#$@Z�#�?X#$@Z�(�
#3@6r�Hp#$@Z�(�
o�
*0�zoO
(P
-	(Q
+,}oV
oW
o�
r9Ep(:
,aoR
sS

r�HpoT
oU
oR
sS
r�HpoT
oU
r�Hp(�r�Hp(�r�Hp(�*(I
*^{8{{9o�
*0A{s�}9}8oV
o�
o�

,��s*
s-
o�
*0�{,*}r�HpsB
(C
rWIp(D
t�}r(p(D
tK}
r�5p(D
t�}rsIp(D
t�}rH:p(D
t�}r2p(D
t�}*6(�(�*0{-*{o~
-+{r�Ip(�
tYo�
{~�
oJ
{o~
3@{r�Ip(�
tYrJp(�
tYs$o�
{~�
oJ
{o~
3+{r'Jp(�
tYo�
{~�
oJ
{o~
3*{o�
~�
oJ
{o�
~�
oJ
*0�{,*}rEJpsB
(C
r�Jp(D
t�}r�Jp(D
t�}r(p(D
tK}rKp(D
t�}r2p(D
t�}*F{o�
t�*F~(!
��*J~��("
*
*0�s�
}(�(�{��sx
o�
{��s�
o�
{��s�
o�
rKp{��s�
s�
&r3Kp��s�
s�
&{{o�
*(�*(�*(�**06|{o�

{(s
ot
(�
(�
(�
(�
(�
|(�
Y(�
3e{o�
{(�
|(�
Yo�
(�
{o�
rUKp	(�
rUKpo�
	o�
oQ
(�reKp	o�
-rsKp+	o�
o�
u�(�r�Kp	o�
(�(�r�Kp	o�
-+{	o�
	o�
o�
(�	(�o�
*s7*�{o�
u�,(�o�
uo�
**0U �3r�Kp* �3r�Kp* ý�3r�Kp*r�Kp��{o�
-rLp+rLp(�
*N{sAo�
*(I
*Jo={:(:
*0;}s�}:{��s�
(+(+
,
{o�
&*Jr1Lpo�
(�*�r�Kp(�rKLpo�
(�
o�
o�
o�
rpo�
(�*�roLpr�Lpo�
o�
o�
(�
(�*Jr�Lpo�
(�*z#$�#$�s�
}*07k{{o�
,{o


(
,(�+o�
*0�{%,*}%r�LpsB
(C
r	Mp(D
t�}r3Mp(D
t�}rMMp(D
t�}r(p(D
tK}r�Dp(D
t�} r�Dp(D
t�}!rH:p(D
t�}"r�Dp(D
t�}#r
Ep(D
t�}$*�r3Kp��(E
��(E
��sF
(r
�*0�~(�(s�
o�

В(E
(�
o�
{/o�
{- �(�o�
{(�s�
o�
{'�s�
o�
{+s�
o�
{,s�
o�
{&��s�
o�
s�
ripo�
r�	po�
(L
rsMpoM
u�o�o�
~�
rKps�

	{)o�
	o�
	o�
&~�
rKps�
{)o�
o�
o�
&~�
rKps�
{*o�
o�
o�
&{0o�
*(*0j{(o
-{2o�
{(o
3{2s�
o�
{(o
3${2s�

���o�
o�
*(*0|{'o
-{-o�
o�
{'o
3{-o�
o�
{'o
3{-o�
o�
{'o
3{-o�
o�
*0|{&o
-{-o�
o�
{&o
3{-o�
o�
{&o
3{-o�
o�
{&o
3{-o�
o�
*07/o
o�
(�

#1#@�@4r�Mpo�
*�{1(L
r6NpoM
t�o�
*6{1o�
*�{1(L
r�NpoM
t�o�
*6{1o�
*04�o�

OYE*o�
,o�
�+o�
**0@{3,*}3r�NpsB
(C
r.Op(D
t�}&r\Op(D
t�}'r�Op(D
t�}(r�Op(D
t�})r�Op(D
t�}*r"Pp(D
t�}+rhPp(D
t�},r(p(D
tK}-r�Pp(D
t�}.r�-p(D
t�}/r�Pp(D
t�}0r�-p(D
t�}1r.p(D
t�}2*0�(�({6o�
r�Ppo�
r�Ppr�Pp(L
r�PpoM
uo�
t!(L
rQpoM
u�(
o�
{6o�
r@Qpo�
r@Qpr'p(L
r�PpoM
uo�
t!(L
rVQpoM
u�(
o�
*0��s�
o�
o�
o�
o�
o�
o�

~�
rKps�
{5o�
o�
o�
&~�
rKps�

	{4o�
	o�
	o�
&*6(�
(*J{7o�
(�*0F�{6{6o�
r�Ppo�
o�
{7o�
{7o�
u�
,o�
*0z{8,*}8r�QpsB
(C
r�Qp(D
t�}4rRp(D
t�}5r(p(D
tK}6r2p(D
t�}7*zs]}9(�((*0�{<(�
o�
{9{:o�
t>oHoe{9{;o�
t>oHog{=o�
{=o�
o�
{=o�
o
{9o

op
8(q
s�
o�
o�
o�
r�	poe
,7s
#�r@o
o
o
o
o�
o�
ru	poe
,o�
o�
rk	poe
,o
o�
rO	p(:
-+o
o�
rO	p(:
-+rO	po
o�
rO	p(:
-+o
o�
(
	,	o�
{=o�
o
(t
:������o<
�{=o�
o	
{={9o�
(

�s
o
&*A�(�F{<~

oJ
*0��rO	p(:
,s�
r:Rpor
o
*rk	po
,(s�
rBRpo&
o$
o%
o
*ru	po
,$s�

В(E
(�
o�
o�
**(*0d�o

o�
rO	p(�
,*s

{9okY+*{=o
 �.o
o
d/Y/�o
*0�{?,*}?rPRpsB
(C
r�Rp(D
t�}:r�Rp(D
t�};r�Rp(D
t(}<r(p(D
tK}=r2p(D
t�}>*0y(�( s�}@{@o�{Gs�
o
{G{@o�o�
{G{@o)
{Bo�
{As�
o�
*2{@o�*2{@o�*�{@,{@{@o�Y(
o�*0Go�
-o�
o�
r(Sp(:
,'{@{@o�o�
o%
o�o�
*J(�{@o�*^{@{Bo~
o�*0�{I,*}IrJSpsB
(C
r�Sp(D
t�}Ar�Sp(D
t�}Br�Sp(D
t�}CrTp(D
t�}Dr.Tp(D
t�}ErLTp(D
t�}Fr(p(D
tK}Gr2p(D
t�}H*{P*"}P*rpTp*F(!o
t*F{Nok
t*:(%oX
X*0o(�(L
o
s�

r�Tp��(E
o�
(
(#(�
sB
o�
o
(+(L
r�PpoM
u("*0��{Mo

(
-*ss

	(L
r�TpoM
t�o�
	o
	}Js

o
o
(&o
{Jo)
u#�)s
{J(
s 
r�Tpo!
o"
o#
($
&o%
o&
*�(�
, (
,(%{Jok
o�
&}J*{N*0z{O,*}OrUpsB
(C
rjUp(D
t�}Kr�Up(D
t�}Lr�Up(D
t�}Mr�Up(D
t�}N*�(�()
�.s*
s-
(4(5(1(-*0�s�}Qs�
{Qo
op
8�(q
s�

	o�
o�
	o�
r=p(:
,o
o'
o�
r#p(:
,o
o
o�
r]p(:
,o'
o
#i@o(
o�
r=p(�
,o�
r]p(�
,o)
{To�
o
(t
:-������o<
�{T{Qo�
*$�(I
*0Rk
(�
,	(�
+,:{<{To�
o�
{<{To�
o�
{;o*
o+
*0��s�
	}<	s,
~-
o.
o/
};	{;{T{To�
o0
{To1
t�o3
o+
	��s

	{;{To�
o�
#y@#�r@s2
s 
o#
r�Upo!
($
&*0��oO
(P
-	(Q
+9�oR
sS

rX7poT
oU
oR
sS
rVpoT
oU
oR
sS
r&VpoT
oU
oR
sS

	rLVpoT
	oU
oR
sS
rnVpoT
oU
*(1*0��{S-*{So3

{To�
o0
 �3*{QoS
{To�
o0
oT
oW
r�Vp(�
{R(:
,*}Rss
(L
oM
u�o�
o�
&(�
u�
o4
	o5
o6
*�{QoS
{To�
o0
oT
oW
r�Vp(:
o7
*{W*"}W*0d{V,*}Vr�VpsB
(C
r(Wp(D
t�}Sr(p(D
tK}Tr2p(D
t�}U*�(�(:{ZsY}X{X�9s
oW(7*�{Y{Xo\-rVWp+r~Wpo�
*0Z{Xo[-
{Yo8
*{Xo[o�
-{Z{Xo[oN
*{Z{Xo[o9
*(7*0d{\,*}\r�WpsB
(C
rXp(D
t(}Yr(p(D
tK}Zr2p(D
t�}[*F{co�
tF*0�(�(R(;�=s:
o;
(?{`�Es
o8{`�Fs
o:{`�Gs
o<{a�Hs
o8{a�Is
o:{a�Js
o<*0:�oO
(P
-	(Q
+,oR
sS

r.XpoT
oU
*�{]-{col
u�}]{]*0��s<

+L�PrRXp(=
rVXpX(=
(>
(�(�X(�o?
X �1�{aoFoO
{aoFo@
{`oFo@
*0w�{co
(>
o�
+2o�
t�oT,{c(>oA
o
oXo;
-��u�
	,	o<
��{co
�*>Wjj�oB
��{`oFo*
����(�
*0I�{aoFoC
�P
o�
(�(�
(�
,o�
(�(�
(�
**6{coD
*6{coE
*~�AsS�CsW(@*~�AsS�DsW(@*�{co;
�AsS�CsW(@*~�BsS�CsW(@*~�BsS�DsW(@*�{co;
�BsS�CsW(@*0�o(
����(�
,s�
}^o(
3I{c,A{co�
,4{co�
o)
oF
,%{^o-
�X(
}^o(
3{^�Xo/
*~{c,{co0
{coG
*(L*"(P*"(P*N{c-+oH
*0$k{_,{_o


(
,(L*0{j,*}jr`XpsB
(C
r�Xp(D
t�}_r�Xp(D
t�}`rFYp(D
t�}ar�Yp(D
t�}br(p(D
tK}cr�Dp(D
t�}dr�Dp(D
t�}erH:p(D
t�}fr�Dp(D
t�}gr
Ep(D
t�}hr�Yp(D
t�}i*0G '}k(�(_{l(L
r�PpoM
toI
u�sJ
o�
*v(�
{r{ro0
oK
*0�{loL
{p��oM
{loL
{od��oM
{loL
{q��oM
{loL
{m%{k%
X}k��oM
*�{roN
,&{r �oO
{r{ro0
oK
*0�{s,*}sr�YpsB
(C
r(p(D
tK}lr*Zp(D
t�}mr@Zp(D
t�}nrH:p(D
t�}or�Dp(D
t�}prZZp(D
t�}qr2p(D
t�}r*6(�(a*0z{x,*}xrrZpsB
(C
r�p(D
t�}tr(p(D
tK}ur�p(D
t�}vr�Zp(D
t�}w*0*�(�(c(L
r�ZpoM
t\
o**0{�,*}�r2[psB
(C
r�[p(D
t�}yr(p(D
tK}zr�[p(D
t�}{r�[p(D
t�}|rsIp(D
t�}}r\p(D
t�}~r&\p(D
t�}r�Dp(D
t�}�rD\p(D
t�}�rV\p(D
t�}�r2p(D
t�}�*{�*0H(�(k{�o�
o�{�o�
o�{��fsP
oQ
*Z{�oR
t#(S
*0{�-*{�o~
-P{�~T
oJ
{�~U
oJ
{�~V
oJ
{�~W
oJ
{�~X
oJ
{�o~
@�{�(L
rl\poM
t�oY
{�(L
r�\poM
t�oZ
{�(L
r�\poM
t�o[
{�(L
r�\poM
t�o\
{�(L
r2]poM
t�o]
*�{�{�rv]p{�o�
(�
(�*o�*�o�o�
o�
o�
tQ(�*0�{�,*}�r�]psB
(C
r�]p(D
t�}�rp(D
t(}�r2p(D
tP}�r(p(D
tK}�r ^p(D
t�}�r<^p(D
t�}�rR^p(D
t�}�r2p(D
t�}�*{�*0Z(�(s{�o�
o�{�o�
o�{�o�
o�{��nsP
oQ
*Z{�oR
t#(S
*0{�-*{�o~
-`{�(L
rr^poM
tYo^
{�(L
r�^poM
tYo_
{�(L
r�^poM
t�oY
{�o~
3L{�o^
{�(L
r_poM
tYo_
{�(L
r�^poM
t�oY
{�o~
30{�~`
oJ
{�~a
oJ
{�~T
oJ
*�{�{�r<_p{�o�
(�
(�*o�*�o�o�
o�
o�
tQ(�*0�{�,*}�rT_psB
(C
r�_p(D
t�}�rp(D
t(}�r2p(D
tP}�r(p(D
tK}�r2p(D
t�}�*�(�(z{�s�
o�
{��us*
s-
o
*0"r�_poQ
(�

(b
s�
oc
*�{�, {�(L
r�_poM
tYod
*V{�,{�od
*0�{�-*{�o~
- {�(L
r`poM
tYoe
{�o~
3 {�(L
rH`poM
tYoe
{�o~
3 {�(L
rl`poM
tYoe
{�o~
3{�~f
oJ
*J{�o~
��*0�{�,*}�r�`psB
(C
r�`p(D
t�}�rap(D
t�}�r(p(D
tK}�r<p(D
t�}�r2p(D
t�}�*~(�(��|sx
(�
*0��sg

r,ap(}szoh
��(E
o�
r>aprTap(�
r�ap(�
sxoh
r�aprTap(�
r�ap(�
sxoh
{�oO
{�o@
*0�si

{�oj
*f-*jok
{�ol
*f(}}�{�o8
*6{�(~*r{�oC
tfov(~*0*{�,*}�r�apsB
(C
r<bp(D
t(}�r^bp(D
t(}�r�bp(D
t�}�r�bp(D
t(}�r(p(D
tK}�r�bp(D
t�}�r�bp(D
t�}�rcp(D
t�}�r�5p(D
t�}�rKp(D
t�}�r<cp(D
t�}�r�-p(D
t�}�*�rRcp��(E
��(E
��s�
(�
��*J~���o"
*F~�o!
��*�(�(�{�r9Epo�
{�o�
*N{�o~
],**:{�o~
[*0x�{�om
on

+P{�os
oo
(�3*(�{�om
r9Ep(�sp
oq
+(�X
{�os
ou
2�*0�{�,*}�rhcpsB
(C
r�cp(D
t�}�r(p(D
tK}�rsIp(D
t�}�rH:p(D
t�}�r�cp(D
t�}�r�cp(D
t�}�r2p(D
t�}�*6(�(�*0S{�o~
-#{�o�
or
{�o�
os
*{�o�
or
{�o�
os
*0{�,*}�rdpsB
(C
rldp(D
t�}�r�dp(D
t�}�r0p(D
t�}�r�dp(D
t�}�r�/p(D
t�}�rep(D
t�}�r4ep(D
t�}�r�0p(D
t�}�r�0p(D
t�}�rbep(D
t�}�r�ep(D
t�}�r�ep(D
t�}�r�ep(D
t�}�r,fp(D
t�}�r\fp(D
t�}�r(p(D
tK}�r�Dp(D
t�}�r�5p(D
t�}�rKp(D
t�}�rH:p(D
t�}�r�Dp(D
t�}�r
Ep(D
t�}�r2p(D
t�}�*6(�(�*�{�o�
{�o�
ot
ou
*F{�o�
ov
*0�{�,*}�rpfpsB
(C
r�fp(D
t�}�r gp(D
t�}�r:gp(D
t�}�rjgp(D
t(}�r�gp(D
t(}�r(p(D
tK}�*b(�(�{�ow
*�{�ox
{�oy
{�oz
*�{�ox
{�oy
{�oz
*0V{�,*}�r�gpsB
(C
rep(D
t�}�r�0p(D
t�}�r�0p(D
t�}�r�ep(D
t�}�r�/p(D
t�}�r0p(D
t�}�r�ep(D
t�}�r�ep(D
t�}�r.hp(D
t�}�r,fp(D
t�}�r^hp(D
t�}�r�6p(D
t�}�r�hp(D
tK}�r2p(D
t�}�*b(�(�{�o{
*�{�o�
{�o�
{�o�
t�o|
t�o�
o}
*0{�,*}�r�hpsB
(C
r�p(D
t�}�rip(D
t(}�r(p(D
tK}�r*Zp(D
t�}�r�Dp(D
t�}�rH:p(D
t�}�rZZp(D
t�}�r�Dp(D
t�}�r6ip(D
t�}�r
Ep(D
t�}�rZip(D
t�}�*0y(�(�(~
u�}�{�{�o�
{���s�
o�
{���s�
o�
{���s�
o�
(�*0a�o
�X
o�
��o�
�X,3,0,-(�
(l
(�
(�
s�
(�
(�
(�
*s�
*0C�o�
t�(�(�o�
t�(�
s�
(�
,rvipo�
*b{�o�
tm(�*b{�o�
tm(�*b{�o�
tm(�*0(�o
o�
o�
o�-o�o�
*(�*0P�{�o�
{�o�
+(�

(�(�
-����o<
��{�o�
�*38C0Ur�p{�o�
tm(�r;p{�o�
tm(�r�p{�o�
tm(�*0H�(�
o�
o�

(�
o�o�,
~g
o�
*o�oQ
o�
*bo�
t�(�(�*bo�
t�(�(�*
*0�{�,*}�r�ipsB
(C
rBjp(D
t�}�rvjp(D
t�}�r�jp(D
t�}�r(p(D
tK}�rH:p(D
t�}�r�jp(D
t�}�rZZp(D
t�}�r2p(D
t�}�*0,�(�(�sF
()
��s5
o�
*�u^oD-{�ov
{�o�
*0{,*}r�jpsB
(C
rjkp(D
t�}�rxkp(D
t�}�r(p(D
tK}�r�Pp(D
t�}�r�kp(D
t�}�r�kp(D
t�}�r&\p(D
t�}�r�kp(D
t�}�r�kp(D
t�}�rlp(D
t�}�r2p(D
t�}�*�s0
}(�(�{()
(�*(�*�{o�
o�
{{o*
u�(�o�
*2{o�
*2{o9
*2{o�
*2{o�
*0��

%9�rlp(:
-,r(lp(:
-6r<lp(:
-@rPlp(:
-J+`-
��s�

(+*-
��s�
(+*-
��s�
( +*	-
��s�

	(!+*sP
z0&�{o�
��s�
o"+
o�
*�o=
,,r�
p(@
oA
oB
(M
rp(C
&oD
*0d{,*}rblpsB
(C
r�lp(D
t�}r(p(D
tK}r2p(D
t�}*6(�(�*0�{,*}r�lpsB
(C
r(lp(D
t�}rTmp(D
t�}r^mp(D
t�}r�dp(D
t�}	r0p(D
t�}
rlmp(D
t�}r�mp(D
t�}r�mp(D
t�}
r(p(D
tK}r�-p(D
t�}*0,�(�(�s�
()
��s5
o�
*�uvo�-{ov
{o�
*0*{,*}r�mpsB
(C
rjkp(D
t�}rbnp(D
t�}r�np(D
t�}r(p(D
tK}r�Pp(D
t�}r�kp(D
t�}r�kp(D
t�}r&\p(D
t�}r�kp(D
t�}r�kp(D
t�}rlp(D
t�}r2p(D
t�}*0�(�(f�w(E
s�
}{��s�
o�
{��s�
o�
{r�npo�
(�{"{o�
{ ��s�
o�
*J(�{o�
*0�o�
u�
,o<
*0�s�

o�
*0ko�
oQ
r�np(:
,-{+o�
{+(L
r�npoM
u�o�
*{+~�
oJ
{+o�
�o�
*0@{,,*},ropsB
(C
rjkp(D
t�}r�op(D
t�} r�op(D
t�}!r(p(D
tK}"r�Pp(D
t�}#r�kp(D
t�}$r�kp(D
t�}%r�kp(D
t�}&r�-p(D
t�}'r&\p(D
t�}(r�kp(D
t�})rlp(D
t�}*r2p(D
t�}+*:(�
(#+&*V�(E
o�
(�
*
*
*(�
*\?����lSystem.Resources.ResourceReader, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSet�PADPADPQ�F�U?f�����V���s<�{/���Q�-'�\n����7��Ű��U�kF-�+�Z��5 �gB��T89����/6$�o���?���![��Vđ�)�]�)X���ē�ȓ�$|�e�PD�����z!��x�l�H�;�ą���4�����L��U�x�О��瞐b�5񞠛�Ϡ������ճ���1�Fd��݇���4+��_4�����
�٬I>��f���Q�ku��浤��{�^��\s�
�δɏ�9F��$�7nûW����
�+#�ёľ;�v�~�A��LT��ak����}�:�L\��"+���9ѥ�;Ҩ&ӿX?��"+��:�ֶ�.�L���X��كw��L��7 ��*���n_ݟ�i݂[H��x�
��b!q�w��U�C��k��ə%�<0��^}�BF�~��i[�3)���P:�ܫ.�M����f�����뫕��K�=DP��'H�cd����F(��mQ��/0*
�
�y�d�
Xu�����p,�(j������&XeW��w�*�S2�T\
U�c�<ѯ�Hd���$x?� ]$!���!�da"��9#ӑ�#�Y$��'
'�"M)>P�*d	/��!0��e1�T
2�=2�3@��38�3eb�5lЀ8�:��;~�5<hTu<:Y&>�:A�xA~�bBީ�B�+�C
;iD
y'HLt�H>.I��L�M> 5N9��O���O0EQ��Q
F�S���TMw
UG�5Vl\�W�?CY�0f[*�\1��]s�^_n�`�LbaCq�a8BCb�_c>:d�h�y�j�.toD/�p�c�p��r�Lu-�"v)��x���zn��z�Q{k��{ǽ|�o^}���}䁓�;-�,�
��%�4Z
6?D/b@X�1���l�	��_4n/:2�� 	\
�Y�&X@_��i=�5�%ss7�\9-�<

l;�3����>,�5
72'�~�(3!	+�'0F(��!�/2"�	,�:�6?VA�7�)=�1:(�.�#�� D'O�
��N-�3V1�'�-o?��A�*�#�6�	���)q�+�0�;4�T*�)#{8{>�|p=A\<�/>6�1;^:�$o�7�
�P=08M	�/)*&4fD	3J+�=1<7�@�"�q%�1@$>>�"
5�+J20�9�-7�4�'�
=&�?!�@RR)<�v�>{2�3�s,��1�=�Ap	>�8K;�
8 P.o9�.45u�:�9.�2�>�!�<F3s0�7�*w�(��IJcontrols/collectionviewnavigator.xamlPcontrols/collectionviewnavigator.xaml.cs�ncontrols/controlstyles/democolumnchoosercontrol.sl.xamlP1Tcontrols/controlstyles/hintcontrol.sl.xaml�4bcontrols/controlstyles/inplaceprogressbar.sl.xaml9hcontrols/controlstyles/masterdetailtemplates.sl.xamlK=\controls/controlstyles/nametextcontrol.sl.xamltV\controls/controlstyles/summarycombobox.sl.xaml�Z,controls/converters.cs$`2controls/customclasses.cs*�Hcontrols/democolumnchoosercontrol.cs
�:controls/demomodulecontrol.csJ�<controls/demovaluesprovider.cs��Bcontrols/gridcontroldefinition.cs��Tcontrols/internetconnectioncontrol.sl.xaml��Tcontrols/internetconnectioncontrol.xaml.cs�:controls/masterdetailitems.csA�Zcontrols/miltiselectionoptionscontrol.sl.xaml��Zcontrols/miltiselectionoptionscontrol.xaml.cs�Fcontrols/multiviewtemplates.sl.xaml,<controls/orderdatagenerator.csq&@controls/outlookdatagenerator.cs�C6controls/salesbyyeardata.cs�p>controls/storyboardcontainer.cs�Tcontrols/tabheaderprintinfocontrol.sl.xaml��Tcontrols/tabheaderprintinfocontrol.xaml.cs��"controls/tasks.cs^�*data/countriesdata.cs��0data/xposervicehelper.css�.demotesting/fixtures.cs`�Xdescriptions/multieditordescriptions.sl.xaml��generic.sl.xaml@"images/dxgrid.png
8images/filtercontrol/add.pngp>images/filtercontrol/delete.png%@images/filtercontrol/produce.png<images/multiview/birthdate.png8:images/multiview/contacts.png�8images/multiview/country.png�:images/multiview/fullname.pngw#Zimages/multiview/groupname/administration.png%Pimages/multiview/groupname/inventory.png.Ximages/multiview/groupname/manufacturing.png�6Limages/multiview/groupname/quality.png�?Nimages/multiview/groupname/research.pngPIHimages/multiview/groupname/sales.png�R:images/multiview/jobtitle.png�[6images/multiview/orders.png;_,images/warningicon.png�aNmoduleresources/autofilterrowclasses.cs�m\moduleresources/autofilterrowtemplates.sl.xamlep`moduleresources/bindingtodynamicobjectclasses.csL~Lmoduleresources/bindingtoxmlclasses.cs�Tmoduleresources/collectionviewviewmodel.csƑNmoduleresources/columnchooserclasses.cs�^moduleresources/currentdatarowtemplates.sl.xaml�Nmoduleresources/dataerrorinfoclasses.cs�Rmoduleresources/dragdroptemplates.sl.xaml�Hmoduleresources/dragdropviewmodel.css�dmoduleresources/embeddedtableviewtemplates.sl.xaml-�\moduleresources/expandcollapsegroupsclasses.cs%�jmoduleresources/expandcollapsegroupstemplates.sl.xaml��Fmoduleresources/filteringclasses.cs��Tmoduleresources/filteringtemplates.sl.xamlF�Zmoduleresources/fixedcolumnstemplates.sl.xamle�Pmoduleresources/groupintervalsclasses.cs�fmoduleresources/groupsummariesalignmentviewmodel.cs7Lmoduleresources/groupsummaryclasses.cs�
Zmoduleresources/groupsummarytemplates.sl.xaml�Pmoduleresources/groupsummaryviewmodel.csSBmoduleresources/hittestclasses.cs�'Pmoduleresources/hittesttemplates.sl.xaml�/Xmoduleresources/hyperlinkattachedbehavior.csF3^moduleresources/inplaceeditorstemplates.sl.xaml24Vmoduleresources/inplacelookupeditclasses.cs�Bdmoduleresources/inplacelookupeditresources.sl.xaml|FLmoduleresources/largedatasetclasses.cs8[Dmoduleresources/livedataclasses.cs�Rmoduleresources/livedatatemplates.sl.xaml��Vmoduleresources/lookupedittemplates.sl.xaml,�Pmoduleresources/masterdetailviewmodel.cs��^moduleresources/masterdetailwithriaviewmodel.cs��Lmoduleresources/multieditorsclasses.cs6�Zmoduleresources/multieditorstemplates.sl.xaml&Tmoduleresources/multiplegroupingclasses.cs_'bmoduleresources/multiplegroupingtemplates.sl.xaml�1Pmoduleresources/multiselectionclasses.csvA^moduleresources/multiselectiontemplates.sl.xamlnHFmoduleresources/multiviewclasses.cs�JTmoduleresources/multiviewtemplates.sl.xaml-PJmoduleresources/multiviewviewmodel.cs8�\moduleresources/multiviewviewtemplates.sl.xaml �\moduleresources/plinqinstantfeedbackclasses.cs��jmoduleresources/plinqinstantfeedbacktemplates.sl.xaml��`moduleresources/plinqinstantfeedbackviewmodel.cs��Zmoduleresources/printmasterdetailviewmodel.cso�Zmoduleresources/printoptionstemplates.sl.xaml��^moduleresources/printtemplatesresources.sl.xaml�fmoduleresources/riainstantfeedbacktemplates.sl.xaml�#\moduleresources/riainstantfeedbackviewmodel.csi(Jmoduleresources/routedeventshelper.csd*Jmoduleresources/rowtemplateclasses.cs5Xmoduleresources/rowtemplatetemplates.sl.xaml@6Jmoduleresources/searchpanelclasses.cs'NXmoduleresources/searchpaneltemplates.sl.xamlQNmoduleresources/searchpanelviewmodel.cs�UNmoduleresources/serializationclasses.csq_Nmoduleresources/sharedresources.sl.xaml0eLmoduleresources/treelistviewclasses.cs�qZmoduleresources/treelistviewtemplates.sl.xamlwPmoduleresources/unboundcolumnsclasses.cs�z^moduleresources/unboundcolumnstemplates.sl.xaml�}Hmoduleresources/validationclasses.csщrmoduleresources/verticalscrollingoptionstemplates.sl.xaml��hmoduleresources/verticalscrollingoptionsviewmodel.cs��fmoduleresources/wcfinstantfeedbacktemplates.sl.xaml��\moduleresources/wcfinstantfeedbackviewmodel.csZ�Xmoduleresources/xpoinstantfeedbackclasses.cs�fmoduleresources/xpoinstantfeedbacktemplates.sl.xaml�:modules/autofilterrow.sl.xamlL�:modules/autofilterrow.xaml.cs��4modules/bandedview.sl.xaml��4modules/bandedview.xaml.cs��Lmodules/bindingtodynamicobject.sl.xaml/�Lmodules/bindingtodynamicobject.xaml.cs��8modules/bindingtoxml.sl.xaml�8modules/bindingtoxml.xaml.cs`<modules/cellsselection.sl.xaml�<modules/cellsselection.xaml.cs#&<modules/collectionview.sl.xaml�8<modules/collectionview.xaml.cs�C:modules/columnchooser.sl.xaml,E:modules/columnchooser.xaml.cs�X6modules/contextmenu.sl.xamlNe6modules/contextmenu.xaml.cs܅<modules/currentdatarow.sl.xaml\�<modules/currentdatarow.xaml.cs��:modules/dataerrorinfo.sl.xamlj�:modules/dataerrorinfo.xaml.cs�0modules/dragdrop.sl.xaml��0modules/dragdrop.xaml.cs��Bmodules/embeddedtableview.sl.xaml��Bmodules/embeddedtableview.xaml.cs��Hmodules/expandcollapsegroups.sl.xaml��Hmodules/expandcollapsegroups.xaml.cs�:modules/filtercontrol.sl.xaml��:modules/filtercontrol.xaml.cs�2modules/filtering.sl.xaml�2modules/filtering.xaml.cs_)8modules/fixedcolumns.sl.xaml�.8modules/fixedcolumns.xaml.csa<>modules/gridsearchpanel.sl.xaml|B>modules/gridsearchpanel.xaml.csfj0modules/grouping.sl.xamlgl0modules/grouping.xaml.cs��<modules/groupintervals.sl.xaml�<modules/groupintervals.xaml.cs��Nmodules/groupsummariesalignment.sl.xaml��Nmodules/groupsummariesalignment.xaml.cs��8modules/groupsummary.sl.xaml��8modules/groupsummary.xaml.cs��.modules/hittest.sl.xaml��.modules/hittest.xaml.cs��<modules/inplaceeditors.sl.xamlE<modules/inplaceeditors.xaml.cs`)Bmodules/inplacelookupedit.sl.xaml�CBmodules/inplacelookupedit.xaml.cs1Q8modules/largedataset.sl.xaml*Z8modules/largedataset.xaml.cs�m0modules/livedata.sl.xaml��0modules/livedata.xaml.cs��4modules/lookupedit.sl.xamlb�4modules/lookupedit.xaml.cs�@modules/masterdetailview.sl.xaml��@modules/masterdetailview.xaml.cs��Fmodules/masterdetailwithria.sl.xaml��Fmodules/masterdetailwithria.xaml.cs	8modules/multieditors.sl.xaml0
	8modules/multieditors.xaml.cs�	@modules/multiplegrouping.sl.xamlK+	@modules/multiplegrouping.xaml.cs�9	<modules/multiselection.sl.xaml`?	<modules/multiselection.xaml.csXS	2modules/multiview.sl.xaml0n	2modules/multiview.xaml.cs׀	4modules/newitemrow.sl.xaml܄	4modules/newitemrow.xaml.cs�	Fmodules/pagedcollectionview.sl.xaml^�	Fmodules/pagedcollectionview.xaml.cs��	Hmodules/plinqinstantfeedback.sl.xaml��	Hmodules/plinqinstantfeedback.xaml.cs�	Bmodules/printmasterdetail.sl.xaml^�	Bmodules/printmasterdetail.xaml.csQ�	8modules/printoptions.sl.xaml&�	8modules/printoptions.xaml.cs�
<modules/printtemplates.sl.xamlZ"
<modules/printtemplates.xaml.csF6
Dmodules/riainstantfeedback.sl.xamlA
Dmodules/riainstantfeedback.xaml.cs�V
6modules/riaservices.sl.xaml�Z
6modules/riaservices.xaml.csog
6modules/rowtemplate.sl.xamlko
6modules/rowtemplate.xaml.cs�
:modules/serialization.sl.xaml��
:modules/serialization.xaml.cs�
:modules/sortbysummary.sl.xaml��
:modules/sortbysummary.xaml.csj�
2modules/tableview.sl.xaml8�
2modules/tableview.xaml.cs6�
8modules/totalsummary.sl.xaml%�
8modules/totalsummary.xaml.cs��
8modules/treelistview.sl.xamlP�
8modules/treelistview.xaml.csR<modules/unboundcolumns.sl.xaml�<modules/unboundcolumns.xaml.cs+4modules/validation.sl.xaml�-4modules/validation.xaml.csbHPmodules/verticalscrollingoptions.sl.xamlIZPmodules/verticalscrollingoptions.xaml.cs��Dmodules/wcfinstantfeedback.sl.xaml��Dmodules/wcfinstantfeedback.xaml.cs�Dmodules/xpoinstantfeedback.sl.xaml?�Dmodules/xpoinstantfeedback.xaml.cs��program.cs��4properties/assemblyinfo.cs��\service%20references/wcfscservice/reference.cs��,themes/generic.sl.xaml�!�<UserControl x:Class="DXDemo.Controls.CollectionViewNavigator"
             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:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
             xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
             mc:Ignorable="d"
             d:DesignHeight="300" d:DesignWidth="300"
             x:Name="source">
        <StackPanel Orientation="Vertical" x:Name="root">
            <dx:GroupFrame Header="Group Descriptions">
                <StackPanel Orientation="Vertical">
                    <dxe:ListBoxEdit ItemsSource="{Binding CollectionView.GroupDescriptions}" SelectedIndex="{Binding CurrentGroupDescription, Mode=TwoWay}" Height="70">
                        <dxe:ListBoxEdit.ItemTemplate>
                            <DataTemplate>
                                <TextBlock Text="{Binding PropertyName}"/>
                            </DataTemplate>
                        </dxe:ListBoxEdit.ItemTemplate>
                    </dxe:ListBoxEdit>
                    <TextBlock Text="New Item Property Name" Margin="0,5,0,0"/>
                    <dxe:ComboBoxEdit IsTextEditable="False" ItemsSource="{Binding Fields}" SelectedItem="{Binding CurrentGroupFieldName, Mode=TwoWay}" Margin="0,5,0,0"/>
                    <StackPanel Orientation="Horizontal" Margin="0,5,0,0">
                        <Button Content="Add New" Margin="0,0,5,0" Command="{Binding AddGroup}"/>
                        <Button Content="Delete Current" Command="{Binding DeleteGroup}"/>
                    </StackPanel>
                </StackPanel>
            </dx:GroupFrame>
            <dx:GroupFrame Header="Sort Descriptions" Margin="0,5,0,0">
                <StackPanel Orientation="Vertical">
                    <dxe:ListBoxEdit ItemsSource="{Binding CollectionView.SortDescriptions}" SelectedIndex="{Binding CurrentSortDescription, Mode=TwoWay}" Height="70">
                        <dxe:ListBoxEdit.ItemTemplate>
                            <DataTemplate>
                                <StackPanel Orientation="Horizontal">
                                    <TextBlock Text="{Binding PropertyName}"/>
                                    <TextBlock Text=", "/>
                                    <TextBlock Text="{Binding Direction}"/>
                                </StackPanel>
                            </DataTemplate>
                        </dxe:ListBoxEdit.ItemTemplate>
                    </dxe:ListBoxEdit>
                    <TextBlock Text="New Item" Margin="0,5,0,0"/>
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="*"/>
                            <ColumnDefinition Width="*"/>
                        </Grid.ColumnDefinitions>
                        <dxe:ComboBoxEdit IsTextEditable="False" ItemsSource="{Binding Fields}" SelectedItem="{Binding CurrentSortFieldName, Mode=TwoWay}" Margin="0,5,0,0"/>
                        <dxe:ComboBoxEdit IsTextEditable="False" ItemsSource="{Binding Directions}" SelectedItem="{Binding CurrentSortDirection, Mode=TwoWay}" Margin="5,5,0,0" Grid.Column="1"/>
                    </Grid>
                    <StackPanel Orientation="Horizontal" Margin="0,5,0,0">
                        <Button Content="Add New" Margin="0,0,5,0" Command="{Binding AddSort}"/>
                        <Button Content="Delete Current" Command="{Binding DeleteSort}"/>
                    </StackPanel>
                </StackPanel>
            </dx:GroupFrame>
            <dx:GroupFrame Header="Editing" Margin="0,5,0,0" Visibility="{Binding Path=EditableCollectionViewVisibility, ElementName=source}">
                <StackPanel Orientation="Vertical">
                    <dxe:CheckEdit IsChecked="{Binding CollectionView.IsAddingNew, Mode=OneWay}" Content="Is Adding New" IsReadOnly="True" IsEnabled="False"/>
                    <dxe:CheckEdit IsChecked="{Binding CollectionView.IsEditingItem, Mode=OneWay}" Content="Is Editing Item" IsReadOnly="True" Margin="0,5,0,0" IsEnabled="False"/>
                </StackPanel>
            </dx:GroupFrame>
            <dx:GroupFrame Header="Current Item" Visibility="{Binding Path=IsSynchronizedWithCurrentItemEditorVisibility, ElementName=source}">
                <StackPanel Orientation="Vertical">
                    <dxe:CheckEdit IsChecked="{Binding IsSynchronizedWithCurrentItem, Mode=TwoWay}" Content="Is Synchronized With Current Item"/>
                <dxe:ComboBoxEdit Margin="0,5,0,0" IsTextEditable="False" IsSynchronizedWithCurrentItem="True" ItemsSource="{Binding CollectionView}" DisplayMember="LastName" AllowCollectionView="True" Foreground="Black">
                <dxe:ComboBoxEdit.EditNonEditableTemplate>
                        <ControlTemplate>
                            <StackPanel Orientation="Horizontal" Margin="4,3,4,3">
                                <TextBlock Text="{Binding Path=SelectedItem.FirstName}"/>
                                <TextBlock Text=" "/>
                                <TextBlock Text="{Binding Path=SelectedItem.LastName}"/>
                            </StackPanel>
                        </ControlTemplate>
                    </dxe:ComboBoxEdit.EditNonEditableTemplate>
                        <dxe:ComboBoxEdit.ItemTemplate>
                            <DataTemplate>
                                <StackPanel Orientation="Horizontal">
                                    <TextBlock Text="{Binding FirstName}"/>
                                    <TextBlock Text=" "/>
                                    <TextBlock Text="{Binding LastName}"/>
                                </StackPanel>
                            </DataTemplate>
                        </dxe:ComboBoxEdit.ItemTemplate>
                    </dxe:ComboBoxEdit>
                </StackPanel>
            </dx:GroupFrame>
        </StackPanel>
</UserControl>!�using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.ComponentModel;
using System.Collections;
using DevExpress.Xpf.DemoBase.DataClasses;
using DevExpress.Xpf.Core.Commands;
using DevExpress.Xpf.Utils;
using DevExpress.Xpf.Core.WPFCompatibility;

namespace DXDemo.Controls {
    public partial class CollectionViewNavigator : UserControl {
        public static readonly DependencyProperty IsSynchronizedWithCurrentItemProperty =
            DependencyPropertyManager.Register("IsSynchronizedWithCurrentItem", typeof(bool), typeof(CollectionViewNavigator), new UIPropertyMetadata(true));
        public static readonly DependencyProperty CollectionViewProperty =
            DependencyPropertyManager.Register("CollectionView", typeof(ICollectionView), typeof(CollectionViewNavigator), new UIPropertyMetadata(null));
        public static readonly DependencyProperty IsSynchronizedWithCurrentItemEditorVisibilityProperty =
            DependencyPropertyManager.Register("IsSynchronizedWithCurrentItemEditorVisibility", typeof(Visibility), typeof(CollectionViewNavigator), new UIPropertyMetadata(Visibility.Visible));
        public static readonly DependencyProperty EditableCollectionViewVisibilityProperty =
            DependencyPropertyManager.Register("EditableCollectionViewVisibility", typeof(Visibility), typeof(CollectionViewNavigator), new UIPropertyMetadata(Visibility.Visible));

        IList directions = new List<ListSortDirection>() { ListSortDirection.Ascending, ListSortDirection.Descending };
        IList fields = new List<string>() { "JobTitle", "FirstName", "LastName", "BirthDate" };
        public IList Directions { get { return directions; } }
        public IList Fields { get { return fields; } }

        public bool IsSynchronizedWithCurrentItem {
            get { return (bool)GetValue(IsSynchronizedWithCurrentItemProperty); }
            set { SetValue(IsSynchronizedWithCurrentItemProperty, value); }
        }
        public ICollectionView CollectionView {
            get { return (ICollectionView)GetValue(CollectionViewProperty); }
            set { SetValue(CollectionViewProperty, value); }
        }
        public Visibility IsSynchronizedWithCurrentItemEditorVisibility {
            get { return (Visibility)GetValue(IsSynchronizedWithCurrentItemEditorVisibilityProperty); }
            set { SetValue(IsSynchronizedWithCurrentItemEditorVisibilityProperty, value); }
        }
        public Visibility EditableCollectionViewVisibility {
            get { return (Visibility)GetValue(EditableCollectionViewVisibilityProperty); }
            set { SetValue(EditableCollectionViewVisibilityProperty, value); }
        }

        public int CurrentSortDescription { get; set; }
        public int CurrentGroupDescription { get; set; }
        public string CurrentGroupFieldName { get; set; }
        public string CurrentSortFieldName { get; set; }
        public ListSortDirection CurrentSortDirection { get; set; }

        public ICommand DeleteGroup { get; private set; }
        public ICommand DeleteSort { get; private set; }
        public ICommand AddGroup { get; private set; }
        public ICommand AddSort { get; private set; }

        public CollectionViewNavigator() {
            InitializeComponent();
            root.DataContext = this;
            DeleteGroup = new DelegateCommand<object>(OnDeleteGroup, CanDeleteGroup);
            DeleteSort = new DelegateCommand<object>(OnDeleteSort, CanDeleteSort);
            AddGroup = new DelegateCommand<object>(OnAddGroup);
            AddSort = new DelegateCommand<object>(OnAddSort);
        }
        void OnDeleteGroup(object parameter) {
            if(CurrentGroupDescription >= 0)
                CollectionView.GroupDescriptions.RemoveAt(CurrentGroupDescription);
        }
        void OnDeleteSort(object parameter) {
            if(CurrentSortDescription >= 0) {
                CollectionView.GroupDescriptions.Remove(FindGroupDescription(CurrentSortDescription));
                CollectionView.SortDescriptions.RemoveAt(CurrentSortDescription);
            }
        }
        void OnAddGroup(object parameter) {
            if(ContainsGroupDescription(CurrentGroupFieldName))
                return;
            CollectionView.GroupDescriptions.Add(new PropertyGroupDescription(CurrentGroupFieldName));
            if(!ContainsSortDescription(CurrentGroupFieldName))
                CollectionView.SortDescriptions.Add(new SortDescription(CurrentGroupFieldName, ListSortDirection.Ascending));
        }
        void OnAddSort(object parameter) {
            if(ContainsSortDescription(CurrentSortFieldName))
                return;
            CollectionView.SortDescriptions.Add(new SortDescription(CurrentSortFieldName, CurrentSortDirection));
        }
        public bool CanDeleteGroup(object parameter) {
            return CurrentGroupDescription >= 0;
        }
        public bool CanDeleteSort(object parameter) {
            return CurrentSortDescription >= 0;
        }
        bool ContainsGroupDescription(string fieldName) {
            foreach(PropertyGroupDescription desc in CollectionView.GroupDescriptions)
                if(desc.PropertyName == fieldName)
                    return true;
            return false;
        }
        PropertyGroupDescription FindGroupDescription(int index) {
            string name = CollectionView.SortDescriptions[CurrentSortDescription].PropertyName;
            foreach(PropertyGroupDescription desc in CollectionView.GroupDescriptions)
                if(desc.PropertyName == name)
                    return desc;
            return null;
        }
        bool ContainsSortDescription(string fieldName) {
            foreach(SortDescription desc in CollectionView.SortDescriptions)
                if(desc.PropertyName == fieldName)
                    return true;
            return false;
        }

    }
}!�<ResourceDictionary 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:local="clr-namespace:GridDemo">
    <Style TargetType="local:DemoColumnChooserControl">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="local:DemoColumnChooserControl">
                    <dx:NonLogicalDecorator>
                        <dxg:ColumnChooserControl x:Name="PART_ColumnChooserControl" Owner="{TemplateBinding View}" Columns="{Binding Path=Owner.ColumnChooserColumns, RelativeSource={RelativeSource Self}}" />
                    </dx:NonLogicalDecorator>

                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</ResourceDictionary>!<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:local="clr-namespace:GridDemo" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Style TargetType="local:HintControl">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="local:HintControl">
                    <Grid x:Name="panel" MinWidth="200" MaxWidth="300">
                        <Border x:Name="shadow" CornerRadius="7" Margin="3,3,0,0" Background="Black" Opacity="0.15" />
                        <Border Name="border1" Background="Gray" CornerRadius="6" Margin="0,0,3,3">
                            <Border Name="border2" Background="White" Margin="1" CornerRadius="5">
                                <ContentPresenter />
                            </Border>
                        </Border>
                    </Grid>

                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</ResourceDictionary>!E<ResourceDictionary 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">
    <dx:FormatStringConverter x:Key="FormatStringConverter" FormatString="0" />
 <ControlTemplate x:Key="InplaceProgressBarTemplate" TargetType="ProgressBar">
  <Grid>


   <Border x:Name="ProgressBarTrack">
       <Rectangle x:Name="ProgressBarIndicator" Fill="#FFBA4F8C" HorizontalAlignment="Left" Opacity="0.5" />
            </Border>

            <Border BorderBrush="#1F000000" BorderThickness="1" HorizontalAlignment="Center" VerticalAlignment="Center" Background="#FFFFFFFF" CornerRadius="2,2,2,2">
                <TextBlock TextAlignment="Center" TextWrapping="NoWrap" Margin="5,-2,5,-2" Text="{Binding Value, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource FormatStringConverter}}" Foreground="Black" VerticalAlignment="Center" HorizontalAlignment="Center" />
            </Border>
  </Grid>
    </ControlTemplate>
</ResourceDictionary>!$<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:GridDemo" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxc="http://schemas.devexpress.com/winfx/2008/xaml/charts">

    <dx:ImageDataConverter x:Key="ImageDataConverter" />
    <DataTemplate x:Key="tabViewDetailDescriptorContentTemplate">
        <dx:MeasurePixelSnapper Margin="5,5,10,10">
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition Width="12" />
                    <ColumnDefinition Width="*" />
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                    <RowDefinition />
                    <RowDefinition />
                </Grid.RowDefinitions>
                <dxe:ImageEdit HorizontalAlignment="Left" VerticalAlignment="Top" Source="{Binding Path=Photo, Converter={StaticResource ImageDataConverter}}" Width="50" ShowMenu="False" />
                <Grid Grid.Column="2">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="Auto" />
                        <ColumnDefinition Width="8" />
                        <ColumnDefinition Width="Auto" />
                        <ColumnDefinition Width="24" />
                        <ColumnDefinition Width="Auto" />
                        <ColumnDefinition Width="8" />
                        <ColumnDefinition />
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition /> <RowDefinition /> <RowDefinition />
                    </Grid.RowDefinitions>
                    <TextBlock Grid.Column="0" Grid.Row="0" Text="First Name:" />
                    <TextBlock Grid.Column="0" Grid.Row="1" Text="Last Name:" />
                    <TextBlock Grid.Column="0" Grid.Row="2" Text="Address:" />
                    <TextBlock Grid.Column="4" Grid.Row="0" Text="Position:" />
                    <TextBlock Grid.Column="4" Grid.Row="1" Text="Hire Date:" />
                    <TextBlock Grid.Column="2" Grid.Row="0" Text="{Binding FirstName}" />
                    <TextBlock Grid.Column="2" Grid.Row="1" Text="{Binding LastName}" />
                    <TextBlock Grid.Column="6" Grid.Row="0" Text="{Binding Title}" />
                    <TextBlock Grid.Column="6" Grid.Row="1" Text="{Binding HireDate, StringFormat=d}" />
                    <TextBlock Grid.Column="2" Grid.Row="2" Text="{Binding Address}" />
                </Grid>
            </Grid>
        </dx:MeasurePixelSnapper>
    </DataTemplate>
    <DataTemplate x:Key="embeddedDetailViewInfoTemplate">
        <dx:MeasurePixelSnapper Margin="5,5,10,10">
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition Width="12" />
                    <ColumnDefinition Width="*" />
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                    <RowDefinition />
                    <RowDefinition />
                </Grid.RowDefinitions>
                <dxe:ImageEdit MaxWidth="150" HorizontalAlignment="Left" VerticalAlignment="Top" Source="{Binding Path=Photo, Converter={StaticResource ImageDataConverter}}" Width="80" ShowMenu="False" />
                <Grid Grid.Column="2">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="Auto" />
                        <ColumnDefinition Width="12" />
                        <ColumnDefinition />
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition /> <RowDefinition />
                        <RowDefinition /> <RowDefinition />
                        <RowDefinition />
                    </Grid.RowDefinitions>
                    <TextBlock Grid.Column="0" Grid.Row="0" Text="Name:" />
                    <TextBlock Grid.Column="0" Grid.Row="1" Text="Position:" />
                    <TextBlock Grid.Column="0" Grid.Row="2" Text="Hire Date:" />
                    <TextBlock Grid.Column="0" Grid.Row="3" Text="About:" />
                    <TextBlock Grid.Column="0" Grid.Row="4" Text="Address:" />
                    <TextBlock Grid.Column="2" Grid.Row="0" Text="{Binding FirstName}" />
                    <TextBlock Grid.Column="2" Grid.Row="1" Text="{Binding Title}" />
                    <TextBlock Grid.Column="2" Grid.Row="2" Text="{Binding HireDate}" />
                    <TextBlock Grid.Column="2" Grid.Row="3" HorizontalAlignment="Left" Text="{Binding Notes}" TextWrapping="Wrap" />
                    <TextBlock Grid.Column="2" Grid.Row="4" Text="{Binding Address}" />
                </Grid>
            </Grid>
        </dx:MeasurePixelSnapper>
    </DataTemplate>
    <DataTemplate x:Key="employeeStatsTemplate">
        <Border BorderThickness="1,0,1,1" Padding="5" BorderBrush="DarkGray" Height="195">
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition />
                </Grid.ColumnDefinitions>
                <dxe:ImageEdit Width="120" ShowMenu="False" Margin="5,5,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Source="{Binding Path=Photo, Converter={StaticResource ImageDataConverter}}" />
                <dxc:ChartControl Grid.Column="1" BorderThickness="0" CrosshairEnabled="False">
                    <dxc:ChartControl.Diagram>
                        <dxc:XYDiagram2D>
                            <dxc:XYDiagram2D.Series>
                                <dxc:LineSeries2D DataSource="{Binding ChartSource}" ShowInLegend="False" ArgumentDataMember="ArgumentMember" CrosshairEnabled="False" ValueDataMember="ValueMember" />
                            </dxc:XYDiagram2D.Series>
                        </dxc:XYDiagram2D>
                    </dxc:ChartControl.Diagram>
                </dxc:ChartControl>
            </Grid>
        </Border>
    </DataTemplate>

</ResourceDictionary>!w<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:local="clr-namespace:GridDemo" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Style TargetType="local:NameTextControl">
        <Setter Property="IsHitTestVisible" Value="false" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="local:NameTextControl">
                    <Grid Margin="0">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="Auto" />
                            <ColumnDefinition Width="3" />
                            <ColumnDefinition Width="*" />
                        </Grid.ColumnDefinitions>
                        <TextBlock Foreground="#FF949494" Text="{TemplateBinding NameValue}" />

                        <TextBlock Foreground="Black" Grid.Column="2" Text="{TemplateBinding TextValue}">

                        </TextBlock>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</ResourceDictionary>!/<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:GridDemo" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core">


    <Style x:Key="GroupSummaryComboBoxEdit" TargetType="dxe:ComboBoxEdit">
        <Setter Property="Margin" Value="2,0,2,0" />
        <Setter Property="IsTextEditable" Value="False" />
        <Setter Property="EditMode" Value="InplaceActive" />
        <Setter Property="AllowDefaultButton" Value="False" />


        <Setter Property="EditNonEditableInplaceTemplate">

            <Setter.Value>
                <ControlTemplate>
                    <dx:DXDockPanel>
                        <Path dx:DXDockPanel.Dock="Right" x:Name="Path_Copy1" Stretch="Fill" Fill="{TemplateBinding Foreground}" Data="F1 M 605,479L 598,479L 601,485L 602,485L 605,479 Z" Width="5" Height="4" Margin="3,2,3,0" />
                        <TextBlock x:Name="PART_Editor" Text="{Binding Path=DisplayText, RelativeSource={RelativeSource TemplatedParent}}" />
                    </dx:DXDockPanel>

                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</ResourceDictionary>!9using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Data;
using DevExpress.Xpf.Grid;
using System.Windows;
using DevExpress.Xpf.Editors;
using DevExpress.Data.Filtering;
using System.Collections.ObjectModel;
using System.Reflection;
using System.Windows.Media;
using System.Windows.Markup;

namespace GridDemo {
    public class MultiSelectModeConverter : IValueConverter {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            return (MultiSelectMode)value == MultiSelectMode.None ? false : true;
        }
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            return (bool)value ? MultiSelectMode.Row : MultiSelectMode.None;
        }
    }
    public class PastUnderFocusedRowToSelectedIndexConverter : MarkupExtension, IValueConverter {
        public PastUnderFocusedRowToSelectedIndexConverter() { }
        public override object ProvideValue(IServiceProvider serviceProvider) {
            return this;
        }
        #region IValueConverter Members
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            return ((bool)value) ? 0 : 1;
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            return ((int)value == 0) ? true : false;
        }
        #endregion
    }
    public class GeneratingDataToWaitIndicatorTypeConverter : IValueConverter {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            return (bool)value ? WaitIndicatorType.None : WaitIndicatorType.Panel;
        }
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            throw new NotSupportedException("This method shouldn't be called");
        }
    }
    public class IssueStatusImageConverter : IValueConverter {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            if(value == null)
                return null;
            string name = ((string)value).Replace(" ", "");
            string path = "GridDemo.Images.IssueIcons." + name + ".png";
            return DevExpress.Xpf.Core.Native.ImageHelper.CreateImageFromEmbeddedResource(Assembly.GetExecutingAssembly(), path);
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            throw new NotImplementedException();
        }
    }

    public class IdToUriConverter : IValueConverter {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            if(value != null) {
                return "http://devexpress.com/Support/Center/p/" + value.ToString() + ".aspx";
            }
            return null;
        }
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            throw new NotSupportedException();
        }
    }
    public class CategoryDataToImageSourceConverter : BytesToImageSourceConverter {
        static Dictionary<string, object> cachedImages = new Dictionary<string, object>();

        public override object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            CategoryData categoryData = value as CategoryData;
            if(value == null) return null;
            if(cachedImages.ContainsKey(categoryData.Name)) {
                return cachedImages[categoryData.Name];
            } else {
                object image = base.Convert(categoryData.Picture, targetType, parameter, culture);
                cachedImages.Add(categoryData.Name, image);
                return image;
            }
        }
    }
    public class BooleanToDefaultBooleanConverter : IValueConverter {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            return (bool)value ? DevExpress.Utils.DefaultBoolean.True : DevExpress.Utils.DefaultBoolean.False;
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            throw new NotImplementedException();
        }
    }
    public class NavigationStyleToTextConverter : IValueConverter {
        #region IValueConverter Members
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            if(value == null) return value;
            if((GridViewNavigationStyle)value == GridViewNavigationStyle.Cell)
                return "By Cell";
            if((GridViewNavigationStyle)value == GridViewNavigationStyle.Row)
                return "By Row";
            return value;
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            throw new NotImplementedException();
        }
        #endregion
    }
    public class ScrollingAnimationDurationToBooleanConverter : IValueConverter {
        #region IValueConverter Members
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            return System.Convert.ToDouble(value) > 0;
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            return System.Convert.ToBoolean(value) ? 350 : 0;
        }
        #endregion
    }
    public class ShowSearchPanelModeToTextConverter : IValueConverter {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            ShowSearchPanelMode? showSearchPanelModeq = (ShowSearchPanelMode?)value;
            if(showSearchPanelModeq == null)
                return value;
            ShowSearchPanelMode showSearchPanelMode = showSearchPanelModeq.Value;
            switch(showSearchPanelMode) {
                case ShowSearchPanelMode.Default: return "Default";
                case ShowSearchPanelMode.Always: return "Always";
                case ShowSearchPanelMode.Never: return "Never";
            }
            return value;
        }
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            throw new NotImplementedException();
        }
    }
    public class FindModeToTextConverter : IValueConverter {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            FindMode? findModeq = (FindMode?)value;
            if(findModeq == null)
                return value;
            FindMode findMode = findModeq.Value;
            switch(findMode) {
                case FindMode.Always: return "Always";
                case FindMode.FindClick: return "Find on Click";
            }
            return value;
        }
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            throw new NotImplementedException();
        }
    }

    public class FilterConditionConverter : IValueConverter {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            FilterCondition? filterConditionq = (FilterCondition?)value;
            if(filterConditionq == null)
                return value;
            FilterCondition filterCondition = filterConditionq.Value;
            switch(filterCondition) {
                case FilterCondition.Default: return "Default";
                case FilterCondition.Contains: return "Contains";
                case FilterCondition.StartsWith: return "Starts With";
                case FilterCondition.Like: return "Like";
            }
            return value;
        }
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            throw new NotImplementedException();
        }
    }

    public class SearchPanelModeConverter : IValueConverter {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            return value;
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            return ((ListBoxEditItem)value).Content;
        }
    }
    public class GroupNameToImageConverter : IValueConverter {
        public static List<string> images = new List<string> { "administration", "inventory", "manufacturing", "quality", "research", "sales" };
        public static string GetImagePathByGroupName(string groupName) {
            groupName = groupName.ToLower();
            foreach(string item in images) {
                if(groupName.Contains(item)) {
                    return "/GridDemo;component/Images/MultiView/GroupName/" + item + ".png";
                }
            }
            return groupName;
        }
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            if(value == null)
                return null;
            return GetImagePathByGroupName((string)value);
        }
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            throw new NotImplementedException();
        }
    }
    public class HeaderToImageConverter : IValueConverter {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            if(value == null)
                return null;
            return "/GridDemo;component/Images/MultiView/" + ((string)value).Replace(" ", String.Empty) + ".png";
        }
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            throw new NotImplementedException();
        }
    }
    public class ColumnHeaderTextConverter : IValueConverter {
        public string ColumnName { get; set; }
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            if(value == null)
                return null;
            return ((string)value) == ColumnName ? "Bold" : "Normal";
        }
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            throw new NotImplementedException();
        }
    }
    public class BirthdayImageVisibilityConverter : IValueConverter {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            if(value == null || !(value is DateTime))
                return Visibility.Collapsed;
            DateTime birthDate = (DateTime)value;
            DateTime someDate = DateTime.Now.AddMonths(3);
            int someMonth = someDate.Month < 3 ? someDate.Month + 12 : someDate.Month;
            int birthMonth = birthDate.Month < 3 ? birthDate.Month + 12 : birthDate.Month;
            return (birthMonth >= DateTime.Now.Month && birthMonth <= someMonth && (birthDate.Month == DateTime.Now.Month ? birthDate.Day > DateTime.Now.Day : true)) ? Visibility.Visible : Visibility.Collapsed;
        }
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            throw new NotImplementedException();
        }
    }
    public class ViewToBooleanConverter : IValueConverter {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            if(value == null)
                return null;
            return value is TableView || value is TreeListView;
        }
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            throw new NotImplementedException();
        }
    }

    public class CountToVisibilityConverter : IValueConverter {
        public bool Invert { get; set; }
        #region IValueConverter Members
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            return ((int)value > 0) ^ Invert ? Visibility.Visible : Visibility.Collapsed;
        }
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            throw new NotImplementedException();
        }
        #endregion
    }
    public class IntToDoubleConverter : IValueConverter {
        #region IValueConverter Members
        object IValueConverter.Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            return Convert.ToDouble(value);
        }
        object IValueConverter.ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            return Convert.ToInt32(value);
        }
        #endregion
    }
    public class RoundValueConverter : MarkupExtension, IValueConverter {
        #region IValueConverter Members
        object IValueConverter.Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            return Math.Round(Convert.ToDouble(value));
        }
        object IValueConverter.ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            return Math.Round(Convert.ToDouble(value));
        }
        #endregion
        public override object ProvideValue(IServiceProvider serviceProvider) {
            return this;
        }
    }
}!�using System;
using System.Collections.Generic;
using System.Reflection;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Grid;
using DevExpress.Xpf.Utils;
using DevExpress.Data.Filtering;
using System.Collections.ObjectModel;
using DevExpress.Xpf.Core.WPFCompatibility;

namespace GridDemo {
    public class GridSummaryList : List<GridSummaryItem> { }
    public class NameTextControl : Control {
        public static readonly DependencyProperty NameValueProperty =
            DependencyProperty.Register("NameValue", typeof(string), typeof(NameTextControl), new PropertyMetadata(null));
        public static readonly DependencyProperty TextValueProperty =
            DependencyProperty.Register("TextValue", typeof(string), typeof(NameTextControl), new PropertyMetadata(null));
        public string NameValue {
            get { return (string)GetValue(NameValueProperty); }
            set { SetValue(NameValueProperty, value); }
        }
        public string TextValue {
            get { return (string)GetValue(TextValueProperty); }
            set { SetValue(TextValueProperty, value); }
        }
        public NameTextControl() {
            this.SetDefaultStyleKey(typeof(NameTextControl));
        }
    }
    public class HintControl : ContentControl {
        public HintControl() {
            this.SetDefaultStyleKey(typeof(HintControl));
        }
    }
}!;using System.ComponentModel;
using System.Windows;
using System.Windows.Controls;
using DevExpress.Xpf.Grid;
using DevExpress.Xpf.Core;

using DevExpress.Xpf.Core.WPFCompatibility;
using Control = DevExpress.Xpf.Core.WPFCompatibility.SLControl;


namespace GridDemo {
    public class DemoColumnChooserControl : Control {
        public static readonly DependencyProperty ViewProperty;

        static DemoColumnChooserControl() {
            ViewProperty = DependencyProperty.Register("View", typeof(GridViewBase), typeof(DemoColumnChooserControl), new PropertyMetadata(null));
        }
        public DemoColumnChooserControl() {
            DefaultStyleKey = typeof(DemoColumnChooserControl);
        }

        public GridViewBase View {
            get { return (GridViewBase)GetValue(ViewProperty); }
            set { SetValue(ViewProperty, value); }
        }

        internal ColumnChooserControl ColunmChooserControl { get; private set; }

        public override void OnApplyTemplate() {
            base.OnApplyTemplate();
            ColunmChooserControl = (ColumnChooserControl)GetTemplateChild("PART_ColumnChooserControl");
        }
    }
    public class DemoColumnChooser : IColumnChooser, IColumnChooserFactory {
        readonly DemoColumnChooserControl columnChooserControl;
        public DemoColumnChooser(DemoColumnChooserControl columnChooserControl) {
            this.columnChooserControl = columnChooserControl;
        }
        #region IColumnChooser Members
        void IColumnChooser.Show() { }
        void IColumnChooser.Hide() { }
        void IColumnChooser.ApplyState(IColumnChooserState state) { }
        void IColumnChooser.SaveState(IColumnChooserState state) { }
        void IColumnChooser.Destroy() { }
        UIElement IColumnChooser.TopContainer { get { return columnChooserControl.ColunmChooserControl; } }
        #endregion

        #region IColumnChooserFactory Members
        IColumnChooser IColumnChooserFactory.Create(Control owner) {
            return this;
        }
        #endregion
    }
}!husing System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using DevExpress.Utils;
using DevExpress.Xpf.Core;
using DevExpress.Xpf.DemoBase;
using DevExpress.Xpf.Grid;
using DevExpress.Xpf.Printing;
using DevExpress.Xpf.Utils.Themes;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Core.WPFCompatibility;

namespace GridDemo {
    public class GridDemoModule : DemoModule {
        public static readonly DependencyProperty GridControlProperty;

        static GridDemoModule() {
            GridControlProperty = DependencyProperty.Register("GridControl", typeof(GridControl), typeof(GridDemoModule), new PropertyMetadata(null));
        }

        public GridDemoModule() {
            ThemeManager.ActualApplicationThemeChanged += ThemeNameChanged;
        }

        protected virtual bool IsGridBorderVisible { get { return false; } }
        public bool UseGridControlWrapperAsDataContext { get; set; }
        protected virtual void ThemeNameChanged(DependencyObject sender, ThemeChangedRoutedEventArgs e) { }
        protected override void Clear() {
            base.Clear();
            ThemeManager.ActualApplicationThemeChanged -= ThemeNameChanged;
        }
        public GridControl GridControl {
            get { return (GridControl)GetValue(GridControlProperty); }
            set { SetValue(GridControlProperty, value); }
        }
        public override void OnApplyTemplate() {
            base.OnApplyTemplate();
        }
        protected override object GetModuleDataContext() {
            if(GridControl == null) {
                GridControl = FindGrid();
                if(GridControl != null)
                    GridControl.ShowBorder = IsGridBorderVisible;
            }
            if(UseGridControlWrapperAsDataContext)
                return new GridControlWrapper(GridControl);
            return GridControl;
        }
        protected virtual GridControl FindGrid() {
            return (GridControl)DemoModuleControl.FindDemoContent(typeof(GridControl), (DependencyObject)DemoModuleControl.Content);
        }
        protected override void RaiseIsPopupContentInvisibleChanged(DependencyPropertyChangedEventArgs e) {
            base.RaiseIsPopupContentInvisibleChanged(e);
            if(IsPopupContentInvisible && GridControl != null)
                GridControl.View.HideColumnChooser();
        }
        protected override bool CanLeave() {
            if(GridControl == null)
                return true;
            return GridControl.View.CommitEditing();
        }

    }
    public class GridControlWrapper : System.ComponentModel.INotifyPropertyChanged {
        GridControl grid;
        public GridControl GridControl {
            get {
                return grid;
            }
            set {
                if(grid == value)
                    return;
                grid = value;
                OnPropertyChanged("GridControl");
            }
        }
        public GridControlWrapper(GridControl gridControl) {
            GridControl = gridControl;
        }

        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        void OnPropertyChanged(String propertyName) {
            if((this.PropertyChanged != null)) {
                this.PropertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    public class PrintViewGridDemoModule : GridDemoModule {
        public static LinkPreviewModel CreateLinkPreviewModel(IPrintableControl printableControl) {
            PrintableControlLink link = new PrintableControlLink(printableControl as IPrintableControl);
            link.ExportServiceUri = "../ExportService.svc";
            return new LinkPreviewModel(link);
        }
        protected virtual DXTabControl DXTabControl { get { return null; } }
        protected override GridControl FindGrid() {
            return DXTabControl != null ? (GridControl)((DXTabItem)DXTabControl.Items[0]).Content : null;
        }
        public void ShowPrintPreview() {
        }
        public void ShowPrintPreviewInNewTab(GridControl grid, DXTabControl tabControl, string tabName) {
            DocumentPreview preview = new DocumentPreview();
            LinkPreviewModel model = CreateLinkPreviewModel(grid.View as IPrintableControl);
            preview.Model = model;

            TabHeaderPrintInfoControl tabHeaderPrintInfoControl = new TabHeaderPrintInfoControl() { TabName = tabName, LinkPreviewModel = model };
            DXTabItem tabItem = new DXTabItem() { AllowHide = DefaultBoolean.True, Content = preview, Header = tabHeaderPrintInfoControl };
            tabControl.Items.Add(tabItem);
            tabControl.SelectedItem = tabItem;

            model.Link.CreateDocument(true);
        }
        protected void DisposePrintPreviewTabContent(DXTabItem tabItem) {
            DXTabControl.Items.Remove(tabItem);
            TabHeaderPrintInfoControl tabHeaderPrintInfoControl = (TabHeaderPrintInfoControl)tabItem.Header;
            tabHeaderPrintInfoControl.LinkPreviewModel.Link.Dispose();
        }
        protected override void Clear() {
            base.Clear();
            for(int i = DXTabControl.Items.Count - 1; i >= 1; i--) {
                DisposePrintPreviewTabContent((DXTabItem)DXTabControl.Items[i]);
            }
        }
        protected virtual void ShowPreviewInNewTab() { }
    }
    public class ResourcesStackPanel : StackPanel {
        Uri _resourceSource;
        public Uri ResourceSource {
            get {
                return _resourceSource;
            }
            set {
                _resourceSource = value;
                Resources = new ResourceDictionary() { Source = _resourceSource };
            }
        }
    }
    public class CountryToFlagImageConverter : BytesToImageSourceConverter {
        public override object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            foreach(Country item in CountriesData.DataSource) {
                if(item.Name == (string)value)
                    return base.Convert(item.Flag, targetType, parameter, culture);
            }
            return null;
        }
    }
}
namespace CommonDemo {
    public class CommonDemoModule : GridDemo.GridDemoModule {
    }
}!�using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DevExpress.Xpf.Grid;
using DevExpress.Xpf.Core;
using DevExpress.DemoData.Helpers;


namespace GridDemo {
    public class DemoValuesProvider {
        public IEnumerable<GridViewNavigationStyle> NavigationStyles { get { return DevExpress.Data.Mask.EnumHelper.GetValues(typeof(GridViewNavigationStyle)).Cast<GridViewNavigationStyle>(); } }
    }
}!5using System.Collections.Generic;
using System.Windows;
using DevExpress.Xpf.Editors.Settings;

namespace GridDemo {
    public class GridControlDefinitionCollection : List<GridControlDefinition> { }
    public class GridControlDefinition : DependencyObject {
        public static readonly DependencyProperty DataSourceProperty = DependencyProperty.Register("DataSource", typeof(object), typeof(GridControlDefinition), new PropertyMetadata(null));
        public object DataSource {
            get { return GetValue(DataSourceProperty); }
            set { SetValue(DataSourceProperty, value); }
        }
        public string Name { get; set; }
        List<GridColumnDefinition> columns;
        public List<GridColumnDefinition> Columns { get { return columns; } }
        public GridControlDefinition() {
            columns = new List<GridColumnDefinition>();
        }
    }
    public class GridColumnDefinition {
        public string FieldName { get; set; }
        public DataTemplate CellTemplate { get; set; }
        public double Width { get; set; }
        public bool FixedWidth { get; set; }
        public BaseEditSettings EditSettings { get; set; }
        public object Header { get; set; }
        public GridColumnDefinition() {
            Width = double.NaN;
        }
    }
}!O<UserControl x:Class="GridDemo.InternetConnectionControl" mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="300" 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">
    <Grid Margin="0,0,0,8" HorizontalAlignment="Stretch">

        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto" />
            <ColumnDefinition />
        </Grid.ColumnDefinitions>
        <Image Source="/GridDemo;component/Images/WarningIcon.png" Stretch="None" />
        <TextBlock Margin="4,0,0,0" Grid.Column="1" TextWrapping="Wrap" VerticalAlignment="Center">This demo requires Internet connection.</TextBlock>
    </Grid>
</UserControl>!.using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace GridDemo {
    public partial class InternetConnectionControl : UserControl {
        public InternetConnectionControl() {
            InitializeComponent();
        }
    }
}!Q0using System;
using System.Windows;
using System.Windows.Data;
using GridDemo;
using DevExpress.Xpf.Editors.Settings;
using DevExpress.Data.Mask;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.DemoBase.DataClasses;
using DevExpress.Xpf.Grid;
using System.Windows.Controls;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using DevExpress.Xpf.DemoBase.NWind;
using System.Windows.Input;
using DevExpress.Xpf.Core.WPFCompatibility;
using DevExpress.Xpf.Collections;
using Control = DevExpress.Xpf.Core.WPFCompatibility.SLControl;
using PropertyDescriptor = DevExpress.Data.Browsing.PropertyDescriptor;
using PropertyMetadata = DevExpress.Xpf.Core.WPFCompatibility.SLPropertyMetadata;
using DependencyPropertyChangedEventArgs = DevExpress.Xpf.Core.WPFCompatibility.SLDependencyPropertyChangedEventArgs;
using DevExpress.Xpf.DemoBase;

namespace GridDemo {

    public class OrdersWithDetail : Orders {
        public IList<Invoices> Invoices { get; private set; }

        public static IList<OrdersWithDetail> CreateOrdersForMasterDetailView(string customerID, int employeeID) {
            IList<Orders> orders = (IList<Orders>)NWindData.Orders;
            IList<OrdersWithDetail> res = new List<OrdersWithDetail>();
            Dictionary<int, int> dict = EmployeesWithPhotoData.OrdersRelationsDictionary;
            foreach(Orders order in orders) {
                if((customerID == "" || order.CustomerID == customerID) && (dict[order.OrderID]) == employeeID)
                    res.Add(new OrdersWithDetail(order));
            }
            return res;
        }
        public static IList<OrdersWithDetail> CreateOrders(string customerID, int employeeID) {
            IList<Orders> orders = (IList<Orders>)NWindData.Orders;
            IList<OrdersWithDetail> res = new List<OrdersWithDetail>();
            int i = 0;
            foreach(Orders order in orders) {
                if(i > 10) break;
                if((customerID == "" || order.CustomerID == customerID) && order.EmployeeID == employeeID) {
                    res.Add(new OrdersWithDetail(order));
                    i++;
                }
            }
            return res;
        }
        IList<Invoices> CreateInvoices(int orderID, string customerID) {
            IList<Invoices> invoices = (IList<Invoices>)NWindData.Invoices;
            IList<Invoices> res = new List<Invoices>();
            foreach(Invoices invoice in invoices) {
                if((customerID == "" || invoice.CustomerID == customerID) && invoice.OrderID == orderID)
                    res.Add(invoice);
            }
            return res;
        }
        public OrdersWithDetail(Orders o) {
            this.CustomerID = o.CustomerID;
            this.EmployeeID = o.EmployeeID;
            this.Freight = o.Freight;
            this.OrderDate = o.OrderDate;
            this.OrderID = o.OrderID;
            this.RequiredDate = o.RequiredDate;
            this.ShipAddress = o.ShipAddress;
            this.ShipCity = o.ShipCity;
            this.ShipCountry = CountryNameResolver.Resolve(o.ShipCountry);
            this.ShipName = o.ShipName;
            this.ShippedDate = o.ShippedDate;
            this.ShipPostalCode = o.ShipPostalCode;
            this.ShipRegion = o.ShipRegion;
            this.ShipVia = o.ShipVia;
            Invoices = CreateInvoices(OrderID, CustomerID);
        }
    }
    public class CustomersWithDetail : Customers {
        public IList<OrdersWithDetail> Orders { get; private set; }

        public static IList<CustomersWithDetail> CreateCustomersForMaterDetailView(int employeeID) {
            IList<Orders> orders = (IList<Orders>)NWindData.Orders;
            IList<Customers> customers = (IList<Customers>)NWindData.Customers;
            Dictionary<int, int> dict = EmployeesWithPhotoData.OrdersRelationsDictionary;
            IList<CustomersWithDetail> res = new List<CustomersWithDetail>();
            foreach(Customers c in customers) {
                Customers customer = c;
                if(orders.Where((order) => order.CustomerID == customer.CustomerID && dict[order.OrderID] == employeeID).Count() > 0)
                    res.Add(new CustomersWithDetail(c, employeeID, true));
            }
            return res;
        }
        public static IList<CustomersWithDetail> CreateCustomers(int employeeID) {
            IList<Orders> orders = (IList<Orders>)NWindData.Orders;
            IList<Customers> customers = (IList<Customers>)NWindData.Customers;
            IList<CustomersWithDetail> res = new List<CustomersWithDetail>();
            foreach(Customers c in customers) {
                Customers customer = c;
                if(orders.Where((order) => order.CustomerID == customer.CustomerID && order.EmployeeID == employeeID).Count() > 0)
                    res.Add(new CustomersWithDetail(c, employeeID));
            }
            return res;
        }

        public CustomersWithDetail(Customers c, int employeeID, bool newOrders = false) {
            this.Address = c.Address;
            this.City = c.City;
            this.CompanyName = c.CompanyName;
            this.ContactName = c.ContactName;
            this.ContactTitle = c.ContactTitle;
            this.Country = CountryNameResolver.Resolve(c.Country);
            this.CustomerID = c.CustomerID;
            this.Fax = c.Fax;
            this.Phone = c.Phone;
            this.PostalCode = c.PostalCode;
            this.Region = c.Region;
            Orders = newOrders ? OrdersWithDetail.CreateOrdersForMasterDetailView(CustomerID, employeeID) : OrdersWithDetail.CreateOrders(CustomerID, employeeID);
        }

    }
    public class EmployeesWithDetails : List<EmployeeWithDetails> {
        public EmployeesWithDetails() {
            AddRange(EmployeeWithDetails.CreateMasterDetailSource());
        }
    }

    public class EmployeesWithDetailsForEmbeddedView : List<EmployeeWithDetails> {
        public EmployeesWithDetailsForEmbeddedView() {
            AddRange(EmployeeWithDetails.CreateEmbeddedViewSource());
        }
    }
    public class EmployeeWithDetails : Employees {
        IList<CustomersWithDetail> customersCore;
        public IList<CustomersWithDetail> Customers {
            get {
                if(customersCore == null)
                    customersCore = CustomersWithDetail.CreateCustomers(EmployeeID);
                return customersCore;
            }
        }
        IList<OrdersWithDetail> ordersCore;
        public IList<OrdersWithDetail> Orders {
            get {
                if(ordersCore == null)
                    ordersCore = OrdersWithDetail.CreateOrders("", EmployeeID);
                return ordersCore;
            }
        }

        IList<CustomersWithDetail> mdcustomersCore;
        public IList<CustomersWithDetail> MDCustomers {
            get {
                if(mdcustomersCore == null)
                    mdcustomersCore = CustomersWithDetail.CreateCustomersForMaterDetailView(EmployeeID);
                return mdcustomersCore;
            }
        }
        IList<OrdersWithDetail> mdordersCore;
        public IList<OrdersWithDetail> MDOrders {
            get {
                if(mdordersCore == null)
                    mdordersCore = OrdersWithDetail.CreateOrdersForMasterDetailView("", EmployeeID);
                return mdordersCore;
            }
        }

        IEnumerable<ChartPoint> chartSourceCore;
        public IEnumerable<ChartPoint> ChartSource {
            get {
                if(chartSourceCore == null)
                    chartSourceCore = CreateChartSource();
                return chartSourceCore;
            }
        }

        IEnumerable<ChartPoint> CreateChartSource() {
            IList<ChartPoint> list = (from o in MDOrders
                                      group o by o.OrderDate into cp
                                      select new ChartPoint() {
                                          ArgumentMember = cp.Key,
                                          Orders = cp.ToList() }).ToList();
            foreach(ChartPoint cp in list) {
                decimal value = 0;
                foreach(OrdersWithDetail order in cp.Orders)
                    foreach(Invoices inv in order.Invoices)
                        value += inv.Quantity * inv.UnitPrice;
                cp.ValueMember = (int)value;
            }
            return list;
        }
        public string EMail { get; set; }

        public static IList<EmployeeWithDetails> CreateMasterDetailSource() {
            List<Employee> empls = EmployeesWithPhotoData.DataSource;
            List<EmployeeWithDetails> res = new List<EmployeeWithDetails>();

            foreach(Employee employee in empls)
                res.Add(new EmployeeWithDetails(employee));
            return res;
        }
        public static IList<EmployeeWithDetails> CreateEmbeddedViewSource() {
            IList<Employees> employees = (IList<Employees>)NWindData.Employees;
            List<EmployeeWithDetails> res = new List<EmployeeWithDetails>();
            foreach(Employees employee in employees) {
                res.Add(new EmployeeWithDetails(employee));
            }
            return res;
        }
        public EmployeeWithDetails(Employees e) {
            Address = e.Address;
            BirthDate = e.BirthDate;
            City = e.City;
            Country = CountryNameResolver.Resolve(e.Country);
            EmployeeID = e.EmployeeID;
            Extension = e.Extension;
            FirstName = e.FirstName;
            HireDate = e.HireDate;
            HomePhone = e.HomePhone;
            LastName = e.LastName;
            Notes = e.Notes;
            Photo = e.Photo;
            PostalCode = e.PostalCode;
            Region = e.Region;
            ReportsTo = e.ReportsTo;
            Title = e.Title;
            TitleOfCourtesy = e.TitleOfCourtesy;
        }
        public EmployeeWithDetails(Employee e) {
            Address = e.AddressLine1;
            BirthDate = e.BirthDate;
            City = e.City;
            Country = CountryNameResolver.Resolve(e.CountryRegionName);
            EmployeeID = e.Id;
            FirstName = e.FirstName;
            HireDate = e.HireDate;
            HomePhone = e.Phone;
            LastName = e.LastName;
            Photo = e.ImageData;
            PostalCode = e.PostalCode;
            Region = e.CountryRegionName;
            EMail = e.EmailAddress;
            Title = e.JobTitle;
            this.ParentId = e.ParentId;
        }
        internal int ParentId { get; private set; }
    }

    public class ChartPoint {
        public DateTime ArgumentMember { get; internal set; }
        public int ValueMember { get; set; }
        internal IList<OrdersWithDetail> Orders { get; set; }
    }
    internal static class CountryNameResolver {
        internal static string Resolve(string countryName) {
            switch(countryName) {
                case "USA":
                    return "United States";
                case "UK":
                    return "United Kingdom";
                default: return countryName;
            }
        }
    }

    public class EmployeeToOrdersConverter : IValueConverter {
        Dictionary<Employee, IEnumerable<Orders>> employeeOrders = new Dictionary<Employee, IEnumerable<Orders>>();

        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            Employee empl = value as Employee;
            if(empl == null) return null;
            IEnumerable<Orders> orders = null;
            if(!employeeOrders.TryGetValue(empl, out orders)) {
                orders = OrdersWithDetail.CreateOrdersForMasterDetailView("", empl.Id);
                employeeOrders.Add(empl, orders);
            }
            return orders;
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            throw new NotImplementedException();
        }
    }
}!]<UserControl x:Class="GridDemo.MultiSelectionOptionsControl" 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:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors">
    <dx:GroupFrame x:Name="groupBoxControl">
  <StackPanel Orientation="Vertical">
   <dxe:ComboBoxEdit x:Name="comboBoxControl" IsTextEditable="False" />
   <StackPanel>
    <Button Name="SelectButton" Margin="0,4,0,0" Content="Add to Selection" Click="SelectButtonClickInClass" />
    <Button Name="UnselectButton" Margin="0,4,0,0" Content="Remove from Selection" Click="UnselectButtonClickInClass" />
    <Button Name="ReselectButton" Margin="0,4,0,0" Click="ReselectButtonClickInClass">
     <StackPanel Orientation="Horizontal" Margin="0">
      <TextBlock Text="Select Only This" Margin="0" />
      <TextBlock Text="{Binding Path=Header, ElementName=groupBoxControl}" Margin="0" />
     </StackPanel>
    </Button>
   </StackPanel>
  </StackPanel>
    </dx:GroupFrame>
</UserControl>!.using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Collections;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Utils;
using PropertyMetadata = DevExpress.Xpf.Core.WPFCompatibility.SLPropertyMetadata;
using DependencyPropertyChangedEventArgs = DevExpress.Xpf.Core.WPFCompatibility.SLDependencyPropertyChangedEventArgs;
using DevExpress.Xpf.Core.WPFCompatibility;

namespace GridDemo {
    public partial class MultiSelectionOptionsControl : UserControl {
        public static readonly DependencyProperty ComboBoxItemsSourceProperty;
        static MultiSelectionOptionsControl() {
            ComboBoxItemsSourceProperty = DependencyPropertyManager.Register("ComboBoxItemsSource", typeof(IEnumerable), typeof(MultiSelectionOptionsControl), new PropertyMetadata(null, ComboBoxItemsSourceChanged));
        }
        static void ComboBoxItemsSourceChanged(DependencyObject dObject, DependencyPropertyChangedEventArgs e) {
            ((MultiSelectionOptionsControl)dObject).OnComboBoxItemsSourceChanged();
        }
        public MultiSelectionOptionsControl() {
            InitializeComponent();
        }
        public IEnumerable ComboBoxItemsSource {
            get { return (IEnumerable)GetValue(ComboBoxItemsSourceProperty); }
            set { SetValue(ComboBoxItemsSourceProperty, value); }
        }
        EventHandler selectButtonClickHandler;
        public event EventHandler SelectButtonClick {
            add { selectButtonClickHandler += value; }
            remove { selectButtonClickHandler -= value; }
        }
        EventHandler unselectButtonClickHandler;
        public event EventHandler UnselectButtonClick {
            add { unselectButtonClickHandler += value; }
            remove { unselectButtonClickHandler -= value; }
        }
        EventHandler reselectButtonClickHandler;
        public event EventHandler ReselectButtonClick {
            add { reselectButtonClickHandler += value; }
            remove { reselectButtonClickHandler -= value; }
        }
        void OnComboBoxItemsSourceChanged() {
            comboBoxControl.ItemsSource = ComboBoxItemsSource;
        }
        protected void RaiseButtonClick(EventHandler handler) {
            EventArgs e = new EventArgs();
            if(handler != null)
                handler(this, e);
        }
        public string Header { get { return Convert.ToString(groupBoxControl.Header); } set { groupBoxControl.Header = value; } }
        public string ComboBoxDisplayMember { get { return comboBoxControl.DisplayMember; } set { comboBoxControl.DisplayMember = value; } }
        public string ComboBoxValueMember { get { return comboBoxControl.ValueMember; } set { comboBoxControl.ValueMember = value; } }
        public ComboBoxEdit ComboBox { get { return comboBoxControl; } }
        private void SelectButtonClickInClass(object sender, RoutedEventArgs e) {
            RaiseButtonClick(selectButtonClickHandler);
        }
        private void UnselectButtonClickInClass(object sender, RoutedEventArgs e) {
            RaiseButtonClick(unselectButtonClickHandler);
        }
        private void ReselectButtonClickInClass(object sender, RoutedEventArgs e) {
            RaiseButtonClick(reselectButtonClickHandler);
        }
    }
}!@<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:GridDemo" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars">
    <local:GroupNameToImageConverter x:Key="GroupNameToImageConverter" />
    <local:BirthdayImageVisibilityConverter x:Key="BirthdayImageVisibilityConverter" />
    <dx:ImageDataConverter x:Key="ImageDataConverter" />
    <local:CountryToFlagImageConverter x:Key="CountryToFlagImageConverter" />
    <local:CountriesData x:Key="CountriesData" />
    <local:HeaderToImageConverter x:Key="HeaderToImageConverter" />
    <dx:BooleanToVisibilityConverterExtension x:Key="BooleanToVisibilityConverter" Invert="True" />

    <Style x:Key="TextBlockStyle" TargetType="TextBlock">

        <Setter Property="VerticalAlignment" Value="Center" />
    </Style>
    <DataTemplate x:Key="ColumnHeaderTemplate">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition />
            </Grid.ColumnDefinitions>
            <Image Source="{Binding Converter={StaticResource HeaderToImageConverter}}" Stretch="None" VerticalAlignment="Center" dxb:BarItem.UseAsBarItemGlyph="True" Margin="0,0,4,0" />
            <TextBlock x:Name="tbPhone" Style="{StaticResource TextBlockStyle}" Text="{Binding}" Grid.Column="1" />
        </Grid>
    </DataTemplate>
    <DataTemplate x:Key="colBirthDateCellTemplate">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition />
                <ColumnDefinition Width="Auto" />
            </Grid.ColumnDefinitions>
            <dxe:DateEdit x:Name="PART_Editor">
            </dxe:DateEdit>
            <Grid Grid.Column="1" Visibility="{Binding Path=IsEditorActive, ElementName=PART_Editor, Converter={StaticResource BooleanToVisibilityConverter}}">
                <Image Margin="4,0,4,0" Source="/GridDemo;component/Images/MultiView/BirthDate.png" Visibility="{Binding Path=EditValue, ElementName=PART_Editor, Converter={StaticResource BirthdayImageVisibilityConverter}}" Stretch="None" HorizontalAlignment="Left" VerticalAlignment="Center">
                    <ToolTipService.ToolTip>
                        <TextBlock Text="Birthday Coming" />
                    </ToolTipService.ToolTip>
                </Image>
            </Grid>
        </Grid>
    </DataTemplate>
    <DataTemplate x:Key="colGroupNameGroupValueTemplate">
        <Grid Margin="5,0,0,0">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition />
            </Grid.ColumnDefinitions>
            <Image Source="{Binding Path=RowData.Row.GroupName, Converter={StaticResource GroupNameToImageConverter}}" Stretch="None" VerticalAlignment="Center">
                <ToolTipService.ToolTip>
                    <TextBlock Text="{Binding Path=RowData.Row.GroupName}" />
                </ToolTipService.ToolTip>
            </Image>
            <TextBlock Style="{StaticResource TextBlockStyle}" Text="{Binding Path=RowData.Row.GroupName}" Padding="5,0,0,0" Grid.Column="1" />
        </Grid>
    </DataTemplate>
    <DataTemplate x:Key="colGroupNameCellTemplate">
        <Image Source="{Binding Path=RowData.Row.GroupName, Converter={StaticResource GroupNameToImageConverter}}" Width="16" Stretch="Uniform">
            <ToolTipService.ToolTip>
                <TextBlock Text="{Binding Path=RowData.Row.GroupName}" />
            </ToolTipService.ToolTip>
        </Image>
    </DataTemplate>
    <ControlTemplate x:Key="colCountryItemTemplate">
        <Grid Background="Transparent">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition />
            </Grid.ColumnDefinitions>
            <Image Margin="4,0,4,0" Source="{Binding Path=(dxe:BaseEdit.OwnerEdit).SelectedItem.Flag, Converter={StaticResource ImageDataConverter}}" Stretch="Uniform" Height="16" HorizontalAlignment="Left" VerticalAlignment="Center" />
            <TextBlock Style="{StaticResource TextBlockStyle}" Margin="4,0,0,0" Text="{Binding Path=(dxe:BaseEdit.OwnerEdit).SelectedItem.Name}" Grid.Column="1" />
        </Grid>
    </ControlTemplate>
    <DataTemplate x:Key="colCountryCellTemplate">
        <dxe:ComboBoxEdit x:Name="PART_Editor" ItemsSource="{Binding Path=DataSource, Source={StaticResource CountriesData}}" ValueMember="Name" IsTextEditable="False" DisplayTemplate="{StaticResource colCountryItemTemplate}" EditNonEditableTemplate="{StaticResource colCountryItemTemplate}">
            <dxe:ComboBoxEdit.ItemTemplate>
                <DataTemplate>
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="Auto" />
                            <ColumnDefinition />
                        </Grid.ColumnDefinitions>
                        <Image Margin="4,0,4,0" Source="{Binding Path=Flag, Converter={StaticResource ImageDataConverter}}" Stretch="Uniform" Height="16" HorizontalAlignment="Left" VerticalAlignment="Center" />
                        <TextBlock Style="{StaticResource TextBlockStyle}" Margin="4,0,0,0" Text="{Binding Path=Name}" Grid.Column="1" />
                    </Grid>
                </DataTemplate>
            </dxe:ComboBoxEdit.ItemTemplate>
        </dxe:ComboBoxEdit>
    </DataTemplate>
</ResourceDictionary>!husing System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using DevExpress.Xpf.DemoBase;
using DevExpress.Xpf.DemoBase.NWind;

namespace GridDemo {
    public class OrderDataGenerator {
        static object SyncRoot = new object();
        static List<string> customerNames = new List<string>();
        static List<CategoryData> categoryData = new List<CategoryData>();
        static List<ProductData> productData = new List<ProductData>();
        volatile int count;
        List<OrderData> cachedOrders = new List<OrderData>();

        static List<string> ExtractCustomerNames() {
            if(customerNames.Count == 0) {
                IList customers = NWindData.Customers;
                customerNames.Capacity = customers.Count;
                foreach(Customers customer in customers) {
                    customerNames.Add(customer.ContactName);
                }
            }
            return customerNames;
        }
        static List<CategoryData> ExtractCategoryDataList() {
            if(categoryData.Count == 0) {
                IList categories = NWindData.Categories;
                categoryData.Capacity = categories.Count;
                foreach(DevExpress.Xpf.DemoBase.NWind.Categories category in categories) {
                    categoryData.Add(new CategoryData() {
                        Name = category.CategoryName,
                        Picture = category.Icon_25
                    });
                }
            }
            return categoryData;
        }
        static List<ProductData> ExtractProductDataList(List<CategoryData> categoriesList) {
            if(productData.Count == 0) {
                IList categoryProducts = NWindData.CategoryProducts;
                productData.Capacity = categoryProducts.Count;
                Random rand = new Random();
                foreach(CategoryProducts categoryProduct in categoryProducts) {
                    productData.Add(new ProductData() {
                        Category = FindCategory(categoriesList, categoryProduct.CategoryName),
                        Name = categoryProduct.ProductName,
                        Price = (decimal)(rand.Next(20) + rand.Next(99) / 100.0)
                    });
                }
            }
            return productData;
        }

        static CategoryData FindCategory(List<CategoryData> categoriesList, string name) {
            foreach(CategoryData category in categoriesList) {
                if(category.Name == name) return category;
            }
            return null;
        }

        List<OrderData> GenerateOrders(int generateCount, int startFrom) {
            List<OrderData> result = new List<OrderData>(generateCount);
            List<string> customerNames = ExtractCustomerNames();
            List<CategoryData> categoriesList = ExtractCategoryDataList();
            List<ProductData> productsList = ExtractProductDataList(categoriesList);

            OnGenerateOrderDataStarted(EventArgs.Empty);
            Random rand = new Random();
            int generateCountPerCent = generateCount / 100;
            for(int i = 0; i < generateCount; i++) {
                ProductData randomProduct = productsList[rand.Next(productsList.Count)];
                string randomName = customerNames[rand.Next(customerNames.Count)];
                OrderData data = new OrderData() {
                    OrderId = i + startFrom, OrderDate = DateTime.Today.Subtract(TimeSpan.FromDays(rand.Next(180))),
                    CustomerName = randomName, Quantity = rand.Next(200) + 1,
                    ProductCategory = randomProduct.Category, ProductName = randomProduct.Name,
                    Price = randomProduct.Price, IsReady = (rand.Next(2) == 0)
                };
                result.Add(data);
                if(((i + 1) % generateCountPerCent) == 0) {
                    OnGenerateOrderDataProgress(new GenerateOrderDataProgressEventArgs(Convert.ToDouble((i + 1) / generateCountPerCent)));
                }
            }
            OnGenerateOrderDataCompleted(EventArgs.Empty);
            return result;
        }

        protected virtual void OnGenerateOrderDataStarted(EventArgs e) {
            if(GenerateOrderDataStarted != null) {
                GenerateOrderDataStarted(this, e);
            }
        }
        protected virtual void OnGenerateOrderDataCompleted(EventArgs e) {
            if(GenerateOrderDataCompleted != null) {
                GenerateOrderDataCompleted(this, e);
            }
        }
        protected virtual void OnGenerateOrderDataProgress(GenerateOrderDataProgressEventArgs e) {
            if(GenerateOrderDataProgress != null) {
                GenerateOrderDataProgress(this, e);
            }
        }

        public OrderDataGenerator(int count) {
            this.count = count;
        }

        public int Count {
            get { return count; }
            set { count = value; }
        }

        public List<OrderData> GetOrders() {
            List<OrderData> result;
            lock(SyncRoot) {
                if(Count > cachedOrders.Count) {
                    cachedOrders.AddRange(GenerateOrders(Count - cachedOrders.Count, cachedOrders.Count + 1));
                }
                result = cachedOrders.GetRange(0, Count);
            }
            return result;
        }
        public List<CategoryData> GetCategories() {
            return ExtractCategoryDataList();
        }

        public event EventHandler GenerateOrderDataStarted;
        public event EventHandler GenerateOrderDataCompleted;
        public event EventHandler<GenerateOrderDataProgressEventArgs> GenerateOrderDataProgress;
    }

    public class GenerateOrderDataProgressEventArgs : EventArgs {
        double progress;

        public GenerateOrderDataProgressEventArgs(double progress) {
            this.progress = progress;
        }
        public double Progress {
            get { return progress; }
        }
    }

    public class CategoryData : IComparable, IComparable<CategoryData> {
        public string Name { get; set; }
        public byte[] Picture { get; set; }
        public override string ToString() {
            return Name;
        }

        #region IComparable Members
        public int CompareTo(object obj) {
            if(obj is CategoryData)
                return CompareTo((CategoryData)obj);
            return -1;
        }
        #endregion
        #region IComparable<CategoryData> Members
        public int CompareTo(CategoryData other) {
            return StringComparer.CurrentCulture.Compare(Name, other.Name);
        }
        #endregion
    }
    public class ProductData {
        public string Name { get; set; }
        public CategoryData Category { get; set; }
        public decimal Price { get; set; }
        public override string ToString() {
            return Name;
        }
    }

    public class OrderData {
        public int OrderId { get; set; }
        public bool IsReady { get; set; }
        public string CustomerName { get; set; }
        public DateTime OrderDate { get; set; }
        public CategoryData ProductCategory { get; set; }
        public string ProductName { get; set; }
        public int Quantity { get; set; }
        public decimal Price { get; set; }
    }
}!�,using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.Xml;
using DevExpress.Data.Filtering;
using System.Windows.Threading;
using System.Threading;
using System.ComponentModel;
using DevExpress.XtraEditors.DXErrorProvider;
using DevExpress.Data;
using DevExpress.Xpf.DemoBase.DemosHelpers.Grid;
using DevExpress.Data.Browsing;
using PropertyDescriptor = DevExpress.Data.Browsing.PropertyDescriptor;

namespace GridDemo {
    public class DemoDataProvider : DemoDataProviderBase {
        public User[] Users { get { return OutlookData.Users; } }
        public SummaryItemType[] SummaryItemTypes {
            get {
                return new SummaryItemType[] {
                    SummaryItemType.Sum,
                    SummaryItemType.Min,
                    SummaryItemType.Max,
                    SummaryItemType.Count,
                    SummaryItemType.Average
                };
            }
        }
        public string[] SummaryFieldNames {
            get {
                return new string[] {
                        "UnitPrice",
                        "Quantity",
                        "Discount",
                        "ExtendedPrice",
                        "Freight",
                        "Total"
                };
            }
        }
    }
    public enum Priority { Low, BelowNormal, Normal, AboveNormal, High }
    [Serializable]
    public class OutlookData : INotifyPropertyChanged {
        public static readonly User[] Users = new User[] {
            new User() { Id = 0, Name = "Peter Dolan"},
            new User() { Id = 1, Name = "Ryan Fischer"},
            new User() { Id = 2, Name = "Richard Fisher"},
            new User() { Id = 3, Name = "Tom Hamlett" },
            new User() { Id = 4, Name = "Mark Hamilton" },
            new User() { Id = 5, Name = "Steve Lee" },
            new User() { Id = 6, Name = "Jimmy Lewis" },
            new User() { Id = 7, Name = "Jeffrey W McClain" },
            new User() { Id = 8, Name = "Andrew Miller" },
            new User() { Id = 9, Name = "Dave Murrel" },
            new User() { Id = 10, Name = "Bert Parkins" },
            new User() { Id = 11, Name = "Mike Roller" },
            new User() { Id = 12, Name = "Ray Shipman" },
            new User() { Id = 13, Name = "Paul Bailey" },
            new User() { Id = 14, Name = "Brad Barnes" },
            new User() { Id = 15, Name = "Carl Lucas" },
            new User() { Id = 16, Name = "Jerry Campbell" },
        };
        int? fOid;
        string fSubject;
        string fFrom;
        DateTime? fSent;
        bool? fHasAttachment;
        long? fSize;
        double? fHoursActive;
        Priority? fPriority;
        int? fUserId;
        public int? OID {
            get { return fOid; }
            set {
                if(fOid == value)
                    return;
                fOid = value;
                OnPropertyChanged("OID");
            }
        }
        public string Subject {
            get { return fSubject; }
            set {
                if(fSubject == value)
                    return;
                fSubject = value;
                OnPropertyChanged("Subject");
            }
        }
        public string From {
            get { return fFrom; }
            set {
                if(fFrom == value)
                    return;
                fFrom = value;
                OnPropertyChanged("From");
            }
        }
        public DateTime? Sent {
            get { return fSent; }
            set {
                if(fSent == value)
                    return;
                fSent = value;
                OnPropertyChanged("Sent");
            }
        }
        public bool? HasAttachment {
            get { return fHasAttachment; }
            set {
                if(fHasAttachment == value)
                    return;
                fHasAttachment = value;
                OnPropertyChanged("HasAttachment");
            }
        }
        public long? Size {
            get { return fSize; }
            set {
                if(fSize == value)
                    return;
                fSize = value;
                OnPropertyChanged("Size");
            }
        }
        public double? HoursActive {
            get { return fHoursActive; }
            set {
                if(fHoursActive == value)
                    return;
                fHoursActive = value;
                OnPropertyChanged("HoursActive");
            }
        }
        public Priority? Priority {
            get { return fPriority; }
            set {
                if(fPriority == value)
                    return;
                fPriority = value;
                OnPropertyChanged("Priority");
            }
        }
        public int? UserId {
            get { return fUserId; }
            set {
                if(fUserId == value)
                    return;
                fUserId = value;
                OnPropertyChanged("UserId");
            }
        }

        public event PropertyChangedEventHandler PropertyChanged;
        void OnPropertyChanged(string propertyName) {
            if(PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }

        public void SetPropertyValue(string propertyName, object value) {
            PropertyDescriptor property = TypeDescriptor.GetProperties(this)[propertyName];
            if(property == null && object.Equals(property.GetValue(this), value))
                return;
            property.SetValue(this, value);
            OnPropertyChanged(propertyName);
        }

        public override string ToString() {
            return Subject;
        }
    }
    public class User {
        public int Id { get; set; }
        public string Name { get; set; }
        public override string ToString() {
            return Name;
        }
    }
    public static class OutlookDataGenerator {
        static Random rnd = new Random();
        public static string[] Subjects = new string[] { "Integrating Developer Express MasterView control into an Accounting System.",
                                                "Web Edition: Data Entry Page. There is an issue with date validation.",
                                                "Payables Due Calculator is ready for testing.",
                                                "Web Edition: Search Page is ready for testing.",
                                                "Main Menu: Duplicate Items. Somebody has to review all menu items in the system.",
                                                "Receivables Calculator. Where can I find the complete specs?",
                                                "Ledger: Inconsistency. Please fix it.",
                                                "Receivables Printing module is ready for testing.",
                                                "Screen Redraw. Somebody has to look at it.",
                                                "Email System. What library are we going to use?",
                                                "Cannot add new vendor. This module doesn't work!",
                                                "History. Will we track sales history in our system?",
                                                "Main Menu: Add a File menu. File menu item is missing.",
                                                "Currency Mask. The current currency mask in completely unusable.",
                                                "Drag & Drop operations are not available in the scheduler module.",
                                                "Data Import. What database types will we support?",
                                                "Reports. The list of incomplete reports.",
                                                "Data Archiving. We still don't have this features in our application.",
                                                "Email Attachments. Is it possible to add multiple attachments? I haven't found a way to do this.",
                                                "Check Register. We are using different paths for different modules.",
                                                "Data Export. Our customers asked us for export to Microsoft Excel"};

        public static string GetSubject() {
            return Subjects[rnd.Next(Subjects.Length - 1)];
        }

        public static string GetFrom() {
            return OutlookData.Users[GetFromId()].Name;
        }

        public static DateTime GetSentDate() {
            DateTime ret = DateTime.Today;
            int r = rnd.Next(12);
            if(r > 1)
                ret = ret.AddDays(-rnd.Next(50));
            return ret;
        }
        public static int? GetSize(bool? largeData) {
            return 1000 + (largeData.Value ? 20 * rnd.Next(10000) : 30 * rnd.Next(100));
        }
        public static bool GetHasAttachment() {
            return rnd.Next(10) > 5;
        }
        public static Priority GetPriority() {
            return (Priority)rnd.Next(5);
        }
        public static int GetHoursActive() {
            return (int)Math.Round(rnd.NextDouble() * 1000, 1);
        }
        public static int GetFromId() {
            return rnd.Next(OutlookData.Users.Length);
        }
        public static OutlookData CreateNewObject() {
            OutlookData obj = new OutlookData();
            obj.Subject = GetSubject();
            obj.From = GetFrom();
            obj.Sent = GetSentDate();
            obj.HasAttachment = GetHasAttachment();
            obj.Size = GetSize(obj.HasAttachment);
            obj.Priority = GetPriority();
            obj.UserId = GetFromId();
            obj.HoursActive = GetHoursActive();
            return obj;
        }
        public static OutlookData CreateOutlookData(int id) {
            OutlookData data = new OutlookData();
            data.OID = id;
            data.From = GetFrom();
            data.UserId = GetFromId();
            data.Sent = GetSentDate();
            data.HasAttachment = GetHasAttachment();
            data.Priority = GetPriority();
            data.HoursActive = GetHoursActive();
            data.Subject = GetSubject();
            return data;
        }
        public static List<OutlookData> CreateOutlookDataTable(int rowCount) {
            List<OutlookData> dataList = new List<OutlookData>(rowCount);
            for(int i = 0; i < rowCount; i++) {
                dataList.Add(CreateOutlookData(i));
            }
            return dataList;
        }
        public static List<OutlookData> CreateOutlookArrayList(int rowCount) {
            List<OutlookData> dataList = new List<OutlookData>(rowCount);
            for(int i = 0; i < rowCount; i++) {
                dataList.Add(CreateOutlookData(i));
            }
            return dataList;
        }
    }
}!Fusing System;
using System.Collections.Generic;
using System.Windows;
using GridDemo;
using System.Collections;
using System.Globalization;
using DevExpress.Data;
using DevExpress.Xpf.DemoBase;
using DevExpress.Xpf.Grid;
using DevExpress.Xpf.Editors.Settings;
using DevExpress.Xpf.Editors;
using System.Windows.Controls;
using DevExpress.Xpf.DemoBase.NWind;
using DevExpress.Data.Browsing;

namespace GridDemo {
    public static class SalesByYearData {
        public static Type GetColumnType(string fieldName) {
            return fieldName.Contains("Date") ? typeof(DateTime) : typeof(int);
        }
        public static IList GetSalesByYearData(bool byMonthReport = false) {
            List<string> columns = new List<string>();
            columns.Add("Date");
            if(byMonthReport)
                columns.Add("DateMonth");
            foreach(Employees employee in NWindData.Employees) {
                string name = employee.FirstName + " " + employee.LastName;
                if(!columns.Contains(name))
                    columns.Add(name);
            }
            CellSelectionList table = new CellSelectionList(columns);
            Random random = new Random();
            for(int yearIndex = 10; yearIndex > 0; yearIndex--) {
                int year = DateTime.Now.Year - yearIndex;
                for(int month = 1; month <= 12; month++) {
                    int daysCount = byMonthReport ? DateTime.DaysInMonth(year, month) : 1;
                    for(int day = 1; day <= daysCount; day++) {
                        Dictionary<string, object> row = new Dictionary<string, object>();
                        row["Date"] = new DateTime(year, month, day);
                        int startColumnIndex = 1;
                        if(byMonthReport) {
                            row["DateMonth"] = row["Date"];
                            startColumnIndex++;
                        }
                        for(int columnIndex = startColumnIndex; columnIndex < columns.Count; columnIndex++)
                            row[columns[columnIndex]] = random.Next(30000 / daysCount);
                        table.Add(row);
                    }
                }
            }
            return table;

        }
        public class CellSelectionList : IList, ITypedList {
            List<Dictionary<string, object>> list;
            PropertyDescriptorCollection columns;
            public CellSelectionList(List<string> columnNames) {
                list = new List<Dictionary<string, object>>();

                columns = CreateColumnCollection(columnNames);
            }
            PropertyDescriptorCollection CreateColumnCollection(List<string> columnNames) {
                CellSelectionPropertyDescriptor[] pds = new CellSelectionPropertyDescriptor[columnNames.Count];
                for(int i = 0; i < columnNames.Count; i++)
                    pds[i] = new CellSelectionPropertyDescriptor(this, columnNames[i], SalesByYearData.GetColumnType(columnNames[i]));
                return new PropertyDescriptorCollection(pds);
            }

            #region ITypedList Members

            PropertyDescriptorCollection ITypedList.GetItemProperties(DevExpress.Data.Browsing.PropertyDescriptor[] listAccessors) {
                return columns;
            }

            string ITypedList.GetListName(DevExpress.Data.Browsing.PropertyDescriptor[] listAccessors) {
                return string.Empty;
            }

            #endregion

            public void SetPropertyValue(int rowIndex, string column, object value) {
                list[rowIndex][column] = value;
            }
            public object GetPropertyValue(int rowIndex, string column) {
                return list[rowIndex][column];
            }

            #region IList Members

            public int Add(object value) {
                list.Add((Dictionary<string, object>)value);
                return -1;
            }

            public void Clear() {
                throw new NotImplementedException();
            }

            public bool Contains(object value) {
                throw new NotImplementedException();
            }

            public int IndexOf(object value) {
                throw new NotImplementedException();
            }

            public void Insert(int index, object value) {
                throw new NotImplementedException();
            }

            public bool IsFixedSize {
                get { return true; }
            }

            public bool IsReadOnly {
                get { return false; }
            }

            public void Remove(object value) {
                throw new NotImplementedException();
            }

            public void RemoveAt(int index) {
                throw new NotImplementedException();
            }

            public object this[int index] {
                get {
                    return list[index];
                }
                set {
                    throw new NotImplementedException();
                }
            }

            #endregion

            #region ICollection Members

            public void CopyTo(Array array, int index) {
                throw new NotImplementedException();
            }

            public int Count {
                get { return list.Count; }
            }

            public bool IsSynchronized {
                get { return true; }
            }

            public object SyncRoot {
                get { return true; }
            }

            #endregion

            #region IEnumerable Members

            public IEnumerator GetEnumerator() {
                return null;
            }

            #endregion
        }
        public class CellSelectionPropertyDescriptor : PropertyDescriptor {
            readonly string propertyName;
            readonly CellSelectionList list;
            readonly Type propertyType;
            public CellSelectionPropertyDescriptor(CellSelectionList list, string propertyName, Type propertyType)
                : base(propertyName, null) {
                this.propertyName = propertyName;
                this.list = list;
                this.propertyType = propertyType;
            }
            public override object GetValue(object component) {
                return ((Dictionary<string, object>)component)[propertyName];
            }
            public override void SetValue(object component, object val) {
                ((Dictionary<string, object>)component)[propertyName] = val;
            }
            public override bool CanResetValue(object component) {
                return false;
            }
            public override bool IsReadOnly { get { return false; } }
            public override Type ComponentType { get { return typeof(MultiEditorsList); } }
            public override Type PropertyType { get { return propertyType; } }
            public override void ResetValue(object component) {
            }
            public override bool ShouldSerializeValue(object component) { return true; }
        }
    }
    public class SalesByYearDataColumnTemplateSelector : DataTemplateSelector {
        public override DataTemplate SelectTemplate(object item, DependencyObject container) {
            ColumnGeneratorItemContext context = (ColumnGeneratorItemContext)item;
            GridControl grid = (GridControl)container;
            return (DataTemplate)grid.Resources[context.PropertyDescriptor.Name == "Date" ? "DateColumnTemplate" : "EmployeeColumnTemplate"];
        }
    }
}!�using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.ComponentModel;
using System.Diagnostics;
using System.Windows.Threading;
using System.Threading;
using System.Windows.Media.Animation;
using DevExpress.Xpf.Grid;
using DevExpress.Xpf.Core.Native;
using DevExpress.Xpf.DemoBase;
using System.Windows.Markup;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
using System.Collections;
using DevExpress.Xpf.Utils;

using DevExpress.Xpf.Core.WPFCompatibility.Helpers;
using DevExpress.Xpf.Core.WPFCompatibility;

namespace GridDemo {
    [ContentProperty("Storyboard")]
    public class StoryboardContainer : Control {
        public static Storyboard CreateStoryboard(Control resourceHolder, string resourceName) {
            ContentControl c = new ContentControl() { Template = (ControlTemplate)resourceHolder.Resources[resourceName] };
            c.ApplyTemplate();
            StoryboardContainer container = (StoryboardContainer)VisualTreeHelper.GetChild(c, 0);
            return container.Storyboard;
        }
        public Storyboard Storyboard { get; set; }
    }
}!�<UserControl x:Class="GridDemo.TabHeaderPrintInfoControl" mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="300" 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:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors">
    <Grid VerticalAlignment="Center">
        <ProgressBar Background="{x:Null}" Margin="-9,-2,-25,-3" BorderThickness="0" x:Name="progress" />
        <TextBlock Margin="0,1,0,1" x:Name="tabNameTextBlock" />
    </Grid>
</UserControl>!�	using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using DevExpress.Xpf.Printing;
using DevExpress.Xpf.Core;

namespace GridDemo {
    public partial class TabHeaderPrintInfoControl : UserControl {
        public LinkPreviewModel LinkPreviewModel {
            get { return (LinkPreviewModel)GetValue(LinkPreviewModelProperty); }
            set { SetValue(LinkPreviewModelProperty, value); }
        }
        public static readonly DependencyProperty LinkPreviewModelProperty =
            DependencyProperty.Register("LinkPreviewModel", typeof(LinkPreviewModel), typeof(TabHeaderPrintInfoControl), new PropertyMetadata(null, new PropertyChangedCallback(OnLinkPreviewModelChanged)));

        public string TabName {
            get { return (string)GetValue(TabNameProperty); }
            set { SetValue(TabNameProperty, value); }
        }
        public static readonly DependencyProperty TabNameProperty =
            DependencyProperty.Register("TabName", typeof(string), typeof(TabHeaderPrintInfoControl), new PropertyMetadata(null, new PropertyChangedCallback(OnTabNameChanged)));
        static void OnLinkPreviewModelChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) {
            ((TabHeaderPrintInfoControl)d).OnLinkPreviewModelChanged();
        }
        static void OnTabNameChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) {
            ((TabHeaderPrintInfoControl)d).OnTabNameChanged();
        }
        public TabHeaderPrintInfoControl() {
            InitializeComponent();
        }

        void OnLinkPreviewModelChanged() {
            progress.SetBinding(FrameworkElement.VisibilityProperty, new Binding("ProgressVisibility") { Source = LinkPreviewModel, Converter = new BoolToVisibilityConverter() });
            progress.SetBinding(ProgressBar.MaximumProperty, new Binding("ProgressMaximum") { Source = LinkPreviewModel });
            progress.SetBinding(ProgressBar.ValueProperty, new Binding("ProgressValue") { Source = LinkPreviewModel, Mode = BindingMode.OneWay });
        }
        void OnTabNameChanged() {
            tabNameTextBlock.Text = TabName;
        }
    }
}!�1using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.Xml;
using DevExpress.Data.Filtering;
using System.Windows.Threading;
using System.Threading;
using System.ComponentModel;
using DevExpress.XtraEditors.DXErrorProvider;
using DevExpress.Data;
using DevExpress.Xpf.Grid;

using DevExpress.Xpf.Core.WPFCompatibility;
using DevExpress.Data.Browsing;
using PropertyDescriptor = DevExpress.Data.Browsing.PropertyDescriptor;
using PropertyMetadata = DevExpress.Xpf.Core.WPFCompatibility.SLPropertyMetadata;

namespace GridDemo {
    public abstract class BindingCollection : CollectionBase, IBindingList {
        public virtual void OnListChanged(object item) { }
        public object AddNew() { return null; }
        public bool AllowEdit { get { return true; } }
        public bool AllowNew { get { return false; } }
        public bool AllowRemove { get { return true; } }

        private ListChangedEventHandler listChangedHandler;
        public event ListChangedEventHandler ListChanged {
            add { listChangedHandler += value; }
            remove { listChangedHandler -= value; }
        }
        internal void OnListChanged(ListChangedEventArgs args) {
            if(listChangedHandler != null) {
                listChangedHandler(this, args);
            }
        }
        protected override void OnRemoveComplete(int index, object value) {
            OnListChanged(new ListChangedEventArgs(ListChangedType.ItemDeleted, index));
        }
        protected override void OnInsertComplete(int index, object value) {
            OnListChanged(new ListChangedEventArgs(ListChangedType.ItemAdded, index));
        }

        public void AddIndex(PropertyDescriptor pd) { throw new NotSupportedException(); }
        public void ApplySort(PropertyDescriptor pd, ListSortDirection dir) { throw new NotSupportedException(); }
        public int Find(PropertyDescriptor property, object key) { throw new NotSupportedException(); }
        public bool IsSorted { get { return false; } }
        public void RemoveIndex(PropertyDescriptor pd) { throw new NotSupportedException(); }
        public void RemoveSort() { throw new NotSupportedException(); }
        public ListSortDirection SortDirection { get { throw new NotSupportedException(); } }
        public PropertyDescriptor SortProperty { get { throw new NotSupportedException(); } }
        public bool SupportsChangeNotification { get { return true; } }
        public bool SupportsSearching { get { return false; } }
        public bool SupportsSorting { get { return false; } }
    }
    public class Task : INotifyPropertyChanged {
        int fID;
        string fName;
        DateTime fDate;
        int fPercentComplete;
        bool fComplete;
        string fNote;

        BindingCollection fRelationCollection;
        public Task(BindingCollection relationCollection, int id, string name, DateTime date) {
            this.fRelationCollection = relationCollection;
            this.fID = id;
            this.fName = name;
            this.fDate = date;
            this.fPercentComplete = 0;
            this.fComplete = false;
            this.fNote = "";
        }

        public int ID {
            get { return fID; }
        }

        public string TaskName {
            get { return fName; }
            set {
                fName = value;
                OnListChanged();
            }
        }

        public DateTime DueDate {
            get { return fDate; }
            set {
                fDate = value;
                OnListChanged();
            }
        }

        public bool Complete {
            get { return fComplete; }
            set {
                fComplete = value;
                if(fComplete && fPercentComplete != 100)
                    PercentComplete = 100;
                if(!fComplete && fPercentComplete == 100)
                    PercentComplete = 0;
                OnPropertyChanged("Complete");
                OnListChanged();
            }
        }

        public int PercentComplete {
            get { return fPercentComplete; }
            set {
                fPercentComplete = value;
                if(fPercentComplete < 0)
                    fPercentComplete = 0;
                if(fPercentComplete > 100)
                    fPercentComplete = 100;
                Complete = fPercentComplete == 100;
                OnPropertyChanged("PercentComplete");
                OnListChanged();
            }
        }

        public string Note {
            get { return fNote; }
            set {
                fNote = value;
                OnListChanged();
            }
        }

        public string CategoryName {
            get { return GetCategoryByTask((TasksWithCategories)fRelationCollection, this); }
        }

        static string GetCategoryByTask(TasksWithCategories collection, Task task) {
            string ret = "";
            for(int i = 0; i < collection.fCategories.Count; i++) {
                if(collection.HasCategory(task, collection.fCategories[i]))
                    ret += string.Format("{0}{1}", (ret == "" ? "" : ", "), collection.fCategories[i].CategoryName);
            }
            if(ret == "") ret = "<None>";
            return ret;
        }

        private void OnListChanged() {
            fRelationCollection.OnListChanged(this);
        }

        #region INotifyPropertyChanged Members

        public event PropertyChangedEventHandler PropertyChanged;
        void OnPropertyChanged(string propertyName) {
            if(PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }

        #endregion
    }
    public class Category {
        int fID;
        string fName;
        public Category(int id, string name) {
            this.fID = id;
            this.fName = name;
        }

        public int ID {
            get { return fID; }
        }

        public string CategoryName {
            get { return fName; }
            set { fName = value; }
        }
    }
    public class Relation : FrameworkElement {

        public static readonly DependencyProperty CompleteProperty =
            DependencyPropertyManager.Register("Complete", typeof(bool), typeof(Relation), new PropertyMetadata(null));

        public static readonly DependencyProperty PercentCompleteProperty =
            DependencyPropertyManager.Register("PercentComplete", typeof(int), typeof(Relation), new PropertyMetadata(null));

        public bool Complete {
            get { return (bool)GetValue(CompleteProperty); }
            set { SetValue(CompleteProperty, value); }
        }

        public int PercentComplete {
            get { return (int)GetValue(PercentCompleteProperty); }
            set { SetValue(PercentCompleteProperty, value); }
        }

        internal Task fTask;
        internal Category fCategory;
        public Relation(Task task, Category category) {
            this.fTask = task;
            this.fCategory = category;

            Binding completeBinding = new Binding("Complete");
            completeBinding.Source = fTask;
            completeBinding.Mode = BindingMode.TwoWay;
            this.SetBinding(CompleteProperty, completeBinding);

            Binding percentCompleteBinding = new Binding("PercentComplete");
            percentCompleteBinding.Source = fTask;
            percentCompleteBinding.Mode = BindingMode.TwoWay;
            this.SetBinding(PercentCompleteProperty, percentCompleteBinding);
        }
        public string TaskName {
            get { return fTask.TaskName; }
            set { fTask.TaskName = value; }
        }
        public DateTime DueDate {
            get { return fTask.DueDate; }
            set { fTask.DueDate = value; }
        }
        public string CategoryName {
            get { return fCategory.CategoryName; }
        }

        public string Note {
            get { return fTask.Note; }
            set { fTask.Note = value; }
        }
    }
    public class Tasks : BindingCollection {
        public static int MaxTasks = 7;
        public static Tasks GetTasks(TasksWithCategories collection) {
            Tasks ret = new Tasks();
            Random rnd = new Random();
            for(int i = 0; i < MaxTasks; i++) {
                ret.List.Add(new Task(collection, i + 1, "Task" + (i + 1).ToString(), DateTime.Today.AddDays(rnd.Next(5))));
                if(i == 2) ret[i].PercentComplete = 50;
                if(i == 6) ret[i].PercentComplete = 100;
            }
            return ret;
        }
        public Task this[int index] {
            get { return (Task)(List[index]); }
            set { List[index] = value; }
        }
    }
    public class Categories : BindingCollection {
        public static int MaxCategories = 6;
        public static Categories GetCategories(TasksWithCategories collection) {
            Categories ret = new Categories();
            string[] names = new string[] { "Business", "Competitor", "Favorites", "Gifts", "Goals", "Holiday", "Ideas", "International", "Personal" };
            for(int i = 0; i < names.Length; i++)
                ret.List.Add(new Category(i + 1, names[i]));
            return ret;
        }
        public Category this[int index] {
            get { return (Category)(List[index]); }
            set { List[index] = value; }
        }
    }
    public class TasksWithCategories : BindingCollection {
        internal Tasks fTasks;
        internal Categories fCategories;
        public TasksWithCategories() {
            fTasks = Tasks.GetTasks(this);
            fCategories = Categories.GetCategories(this);
        }
        public static TasksWithCategories GetTasksWithCategories() {
            TasksWithCategories ret = new TasksWithCategories();
            Random rnd = new Random();
            for(int i = 0; i < Tasks.MaxTasks; i++)
                for(int j = 0; j < 1 + rnd.Next(Categories.MaxCategories); j++) {
                    Category cat = ret.fCategories[rnd.Next(ret.fCategories.Count)];
                    if(!ret.HasCategory(ret.fTasks[i], cat))
                        ret.List.Add(new Relation(ret.fTasks[i], cat));
                }
            return ret;
        }
        public Relation this[int index] {
            get { return (Relation)(List[index]); }
            set { List[index] = value; }
        }
        public override void OnListChanged(object item) {
            if(item == null) return;
            for(int i = 0; i < this.Count; i++)
                if(item.Equals(this[i].fTask))
                    this.OnListChanged(new ListChangedEventArgs(ListChangedType.ItemChanged, i));
        }
        public bool HasCategory(Task task, Category category) {
            for(int i = 0; i < this.Count; i++)
                if(this[i].fCategory == category && this[i].fTask.Equals(task))
                    return true;
            return false;
        }
    }
    public class GroupingControllerTasksWithCategories {
        GridControl fGrid;
        TasksWithCategories fTasks;
        public event EventHandler AfterGrouping;
        public GroupingControllerTasksWithCategories(GridControl grid) {
            this.fGrid = grid;
            this.fTasks = TasksWithCategories.GetTasksWithCategories();
            grid.EndGrouping += new SLRoutedEventHandler(Grid_Grouping);
            SetDataSource();
        }
        void Grid_Grouping(object sender, RoutedEventArgs e) {
            SetDataSource();
            if(AfterGrouping != null) AfterGrouping(this, EventArgs.Empty);
        }

        public GridColumn CategoryColumn { get { return fGrid.Columns["CategoryName"]; } }

        public bool IsCategoryGrouping {
            get {
                if(CategoryColumn == null) return false;
                return CategoryColumn.IsGrouped;
            }
        }

        public void SetDataSource() {
            if(IsCategoryGrouping)
                fGrid.ItemsSource = fTasks;
            else fGrid.ItemsSource = fTasks.fTasks;
        }
    }
}!rusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.Xml.Serialization;
using DevExpress.Xpf.DemoBase;
using System.ComponentModel;
using DevExpress.Xpf.DemoBase.Helpers;
using System.Reflection;

namespace GridDemo {
    [XmlRoot("Countries")]
    public class CountriesData : List<Country> {
        static IList dataSource = null;
        public static IList DataSource {
            get {
                if(DesignerProperties.IsInDesignTool)
                    return null;
                if(dataSource != null)
                    return dataSource;
                XmlSerializer s = new XmlSerializer(typeof(CountriesData));
                Assembly assembly = typeof(MultiView).Assembly;
                dataSource = (IList)s.Deserialize(assembly.GetManifestResourceStream(DemoHelper.GetPath("GridDemo.Data.", assembly) + "Countries.xml"));
                return dataSource;
            }
        }
    }

    public class Country {
        public string Name { get; set; }
        public byte[] Flag { get; set; }
    }
}!�using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DevExpress.Xpo;
using DevExpress.Xpo.DB;
using System.ServiceModel;

namespace GridDemo {

    public static class XPOServiceHelper {

        public static void SetupXpoLayer() {
            EndpointAddress address = new EndpointAddress("http://demos.devexpress.com/Services/WcfXpoSC/XPOService.svc");
            BasicHttpBinding binding = new BasicHttpBinding();
            binding.MaxReceivedMessageSize = Int32.MaxValue;
            DataStoreClient dataStore = new DataStoreClient(binding, address);
            XpoDefault.DataLayer = new SimpleDataLayer(dataStore);
            XpoDefault.Session = null;

        }
    }
}!yusing System;
using System.Windows;
using System.Windows.Controls.Primitives;
using System.Windows.Media;
using DevExpress.Data.Filtering;
using DevExpress.Utils;
using DevExpress.Xpf.Core;
using DevExpress.Xpf.Core.Native;
using DevExpress.Xpf.DemoBase;
using DevExpress.Xpf.DemoBase.DemoTesting;
using DevExpress.Xpf.DemoBase.Helpers;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Editors.ExpressionEditor;
using DevExpress.Xpf.Grid.Native;

namespace GridDemo.Tests {
    public class GridCheckAllDemosFixture : CheckAllDemosFixture {
        Type[] skipMemoryLeaksCheckModules = new Type[] {
            typeof(HitTest), typeof(InplaceLookUpEdit)
        };
        Type[] skipRunModules = new Type[] {
            typeof(PagedCollectionView), typeof(RIAServices),
        };
        protected override bool CheckMemoryLeaks(Type moduleTyle) {
            return !EnumeratorHelper.Exists<Type>(skipMemoryLeaksCheckModules, moduleTyle);
        }
        protected override bool CanRunModule(Type moduleType) {
            return !EnumeratorHelper.Exists<Type>(skipRunModules, moduleType);
        }
    }
}!](<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase/grid">
    <ControlTemplate x:Key="NumericTextEditDescription">
        <dxdb:ParagraphContainer>
            <Paragraph>
                <Span FontWeight="Bold">Text Editor</Span> – a single line text editor with a numeric mask. Masks provide restricted data input and formatted data output.  Numeric masks are the best option when you must restrict input to numeric values. To increase or decrease values, use the CTRL + UP and CTRL + DOWN arrows or the mouse wheel.
            </Paragraph>
        </dxdb:ParagraphContainer>
    </ControlTemplate>
    <ControlTemplate x:Key="TextEditDescription">
        <dxdb:ParagraphContainer>
            <Paragraph>
                <Span FontWeight="Bold">Text Editor</Span> – a single line text editor with comprehensive text editing options including, selection and built-in context menu (cut/copy/paste).
            </Paragraph>
        </dxdb:ParagraphContainer>
    </ControlTemplate>
    <ControlTemplate x:Key="ComboBoxEditDescription">
        <dxdb:ParagraphContainer>
            <Paragraph>
                <Span FontWeight="Bold">Combo Box</Span> – a simple drop down editor allowing end users to specify values from a pre-defined list.
            </Paragraph>
        </dxdb:ParagraphContainer>
    </ControlTemplate>
    <ControlTemplate x:Key="LookUpEditDescription">
        <dxdb:ParagraphContainer>
            <Paragraph>
                <Span FontWeight="Bold">LookUpEdit</Span> - a multi-column combo box that provides the lookup functionality, using an embedded DXGrid control.
            </Paragraph>
        </dxdb:ParagraphContainer>
    </ControlTemplate>
    <ControlTemplate x:Key="SearchLookUpEditDescription">
        <dxdb:ParagraphContainer>
            <Paragraph>
                <Span FontWeight="Bold">SearchLookUpEdit</Span> - a multi-column combo box that provides the lookup functionality, using an embedded DXGrid control with the Find feature. It allows you to quickly locate records by the text they contain.
            </Paragraph>
        </dxdb:ParagraphContainer>
    </ControlTemplate>
    <ControlTemplate x:Key="AutoCompleteComboBoxEditDescription">
        <dxdb:ParagraphContainer>
            <Paragraph>
                <Span FontWeight="Bold">Combo Box</Span> – With an integrated Auto Complete option, you can provide the ability for end-users to select items from a drop down list by entering characters within the grid cell. When text is entered into the editor, the control automatically searches for the item within the list and if found, highlights it and enters the value within the data cell.
            </Paragraph>
        </dxdb:ParagraphContainer>
    </ControlTemplate>
    <ControlTemplate x:Key="SpinEditDescription">
        <dxdb:ParagraphContainer>
            <Paragraph>
                <Span FontWeight="Bold">Spin Edit</Span> – Ships with a built in numeric mask that only allows the entry of numbers within it. The longer spin buttons are pressed, the faster values change.
            </Paragraph>
        </dxdb:ParagraphContainer>
    </ControlTemplate>
    <ControlTemplate x:Key="TrackBarEditDescription">
        <dxdb:ParagraphContainer>
            <Paragraph>
                <Span FontWeight="Bold">Track Bar</Span> – Built to present numeric information in an elegant manner, users can specify values by sliding the thumb across the control’s continuous line. Features include the ability to limit the range of values, horizontal and vertical orientation, and customizable position of ticks.
            </Paragraph>
        </dxdb:ParagraphContainer>
    </ControlTemplate>
    <ControlTemplate x:Key="ProgressBarEditDescription">
        <dxdb:ParagraphContainer>
            <Paragraph>
                <Span FontWeight="Bold">Progress Bar Edit</Span> – Used to indicate the progress of lengthy operations. Features include built in content display mode, ability to limit the range of values, display of values as percentages, and indeterminate progress style (marquee).
            </Paragraph>
        </dxdb:ParagraphContainer>
    </ControlTemplate>
    <ControlTemplate x:Key="ZoomTrackBarEditDescription">
        <dxdb:ParagraphContainer>
            <Paragraph>
                <Span FontWeight="Bold">Zoom Track Bar</Span> – Much like the track bar introduced in MS Office 2007, this editor gives you extensive data editing options.
            </Paragraph>
        </dxdb:ParagraphContainer>
    </ControlTemplate>
    <ControlTemplate x:Key="RangeTrackBarEditDescription">
        <dxdb:ParagraphContainer>
            <Paragraph>
                <Span FontWeight="Bold">Range Track Bar</Span> – Allows your end-users to specify a range of values in a straightforward visual manner.
            </Paragraph>
        </dxdb:ParagraphContainer>
    </ControlTemplate>
    <ControlTemplate x:Key="CheckEditDescription">
        <dxdb:ParagraphContainer>
            <Paragraph>
                <Span FontWeight="Bold">Check Box Edit</Span> – To better present Boolean values to end-users, the DevExpress WPF Grid allows you to embed a check box editor within it.
            </Paragraph>
        </dxdb:ParagraphContainer>
    </ControlTemplate>
    <ControlTemplate x:Key="RegExTextEditDescription">
        <dxdb:ParagraphContainer>
            <Paragraph>
                <Span FontWeight="Bold">RegEx Mask Edit</Span> – A single line text editor with extended mask capabilities. Masks provide restricted data input as well as formatted data output. The RegEx mask allows you to construct masks using fully functional regular expressions - providing ultimate flexibility when it comes to data input control.
            </Paragraph>
        </dxdb:ParagraphContainer>
    </ControlTemplate>
    <ControlTemplate x:Key="MemoEditDescription">
        <dxdb:ParagraphContainer>
            <Paragraph>
                <Span FontWeight="Bold">Memo Edit</Span> – Deliver Memo field display and editing with the Memo Edit control.  Features include optional ENTER and TAB key processing, customizable visibility for vertical and horizontal scrollbars, and optional text word-wrapping.
            </Paragraph>
        </dxdb:ParagraphContainer>
    </ControlTemplate>
    <ControlTemplate x:Key="DateEditDescription">
        <dxdb:ParagraphContainer>
            <Paragraph>
                <Span FontWeight="Bold">Date Edit</Span> – Easily display and edit Date/Time values via a drop down calendar. Features include built in date/time mask, Windows® Vista style calendar views for easy date navigation and selection.
            </Paragraph>
        </dxdb:ParagraphContainer>
    </ControlTemplate>
    <ControlTemplate x:Key="ListBoxEditDescription">
        <dxdb:ParagraphContainer>
            <Paragraph>
                <Span FontWeight="Bold">List Box Edit</Span> – Allows you to display a list of items from which users can select a given value. Features include built in list styles (Native, Checked, Radio), optional item highlighting, and multiple item selection.
            </Paragraph>
        </dxdb:ParagraphContainer>
    </ControlTemplate>
    <ControlTemplate x:Key="ButtonEditDescription">
        <dxdb:ParagraphContainer>
            <Paragraph>
                <Span FontWeight="Bold">Button Edit</Span> – A single line editor allowing you to display an unlimited number of buttons within the edit box. Features include multiple button support, customizable button arrangement, and full mask input support.
            </Paragraph>
        </dxdb:ParagraphContainer>
    </ControlTemplate>
    <ControlTemplate x:Key="PopupCalcEditDescription">
        <dxdb:ParagraphContainer>
            <Paragraph>
                <Span FontWeight="Bold">Calculator Edit</Span> – Allows you to activate a calculator dropdown window for data editing/modification. Features include a Windows® 7 display style, basic math functions, memory operations, keyboard and mouse wheel support, configurable precision and display format.
            </Paragraph>
        </dxdb:ParagraphContainer>
    </ControlTemplate>
    <ControlTemplate x:Key="PasswordBoxEditDescription">
        <dxdb:ParagraphContainer>
            <Paragraph>
                <Span FontWeight="Bold">Password Edit</Span> – Designed to enter and handle password data fields. Features include configurable password characters, maximum length, and input validation.
            </Paragraph>
        </dxdb:ParagraphContainer>
    </ControlTemplate>
    <ControlTemplate x:Key="PopupColorEditDescription">
        <dxdb:ParagraphContainer>
            <Paragraph>
                <Span FontWeight="Bold">Color Edit</Span> – End users can select values using the color edit drop down from the RGBA color space. Features include multiple present palettes, configurable palette layout, unlimited custom color palettes, customizable default color, and a localizable UI.
            </Paragraph>
        </dxdb:ParagraphContainer>
    </ControlTemplate>
    <ControlTemplate x:Key="PopupImageEditDescription">
        <dxdb:ParagraphContainer>
            <Paragraph>
                <Span FontWeight="Bold">PopupImageEdit</Span> – displays an image within a dropdown window. Key features include: Supported Image Formats – JPEG and PNG; Configurable Image Size; Built-in Toolbar; Auto-Sizing Image Popup; Easy Image Loading – clicking within an image editor shows the Open File dialog allowing you to select an image; Custom menu appearance via Menu Templates; Localizable UI.
            </Paragraph>
        </dxdb:ParagraphContainer>
    </ControlTemplate>
    <ControlTemplate x:Key="FontEditDescription">
        <dxdb:ParagraphContainer>
            <Paragraph>
                <Span FontWeight="Bold">FontEdit</Span> –  Displays available fonts and allows an end-user to select a specific font.
            </Paragraph>
        </dxdb:ParagraphContainer>
    </ControlTemplate>
</ResourceDictionary>!�<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="/GridDemo;component/Controls/ControlStyles/DemoColumnChooserControl.SL.xaml" />
        <ResourceDictionary Source="/GridDemo;component/Controls/ControlStyles/InplaceProgressBar.SL.xaml" />
        <ResourceDictionary Source="/GridDemo;component/Controls/ControlStyles/SummaryComboBox.SL.xaml"/>
        <ResourceDictionary Source="/GridDemo;component/Controls/ControlStyles/HintControl.SL.xaml" />
    </ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
!`�PNG


IHDR�$q?#'IDATx^�[m�$G~�2~@B�I@1�QHdÜ�H�dD�ACf��F��.����_�+��5�In�$����O"�\��n7��U��a�������>PTw��5=3�<�G�s��:�*��ⰪN%�
Q�ɐ@�9PEb�� ����*z��Y��>�C\��CME�����{��M7�e�_`HG�䘄Ar,��
�Ad�"(ԒPB[I�s�;{v��‹��ǿ�P�
xK`59�&�>:s#�����NAc9�R$!�%��"X[�
�q����dV�1�a�o�>LOO�Df��?O��݊=0���
�Vʶ��`��W8~�&������3��k߃�?�D����\<��x��?��^������"��a�|`߀C��:�,��pG���:���{n����1u>�*ƃ�n��
��>	�:�N�Zcq���^�gN�PZQ�$*��x0�Sg"K��U�΄uVw�v>u�A<��?�;�b̑y�I�!	���<�x	�{)��i_D������iw�_�A�5���U��E�͓��Y�Y���	���D��I,9���Z������\�t�:�I��`�Qk�
tSo���K$�]�_�#J˻�U�Pmx�]X��K�sT�$�NQϜO$TȾžGҡf�"D	y+ �����5QD�n
�1�>�$v������@�N���=�=�5�g��F��JU-�f�|5c\�E'G]�lUa�$�k�7a���ϑt$q�9�P�����
$$�3O("#+�=R��yz.���Ș�܊��=wy���<?@����N�Z��-�,�:�s�*�q�:{LZ�H�&�D�Z�Mw���q^\�/m8��cQd�:�lT�ޏф����]'�X�� �|W:_�j����Y�-�z�d�g~�g�=�Рb����㵚X����߼�} �
�W�[L���vT��{x���=t3�} �v�Md�Pc0̓l�;[�Q��w7���Yq21Y��;����TY�D�ƀ�<� ᬱT�,y|X��mR��m�ɸR�n*[%y��x;�jY5[�q�$g���ױXN�Js��8��[�*F�+!5�R���\�j>�����gkg62\	�{�$��X�%ZD��9���6��o�!!ǁ&�TEL��Ql�w�ՊW�ʸ���r%
|+���	�XD�bm}�x͋ǘ������%x��C�l��q�GDq�F;*���<��LJ��H���Y�K��Jm�h
��$�B�H�)�Y�3�
�aӡ��X@5V�1��V�3��,y����
�B�ʉm����	vW�U�]�Y
jj-LdbR ^�ƅ�����}.��O�ۘP�{����&�<!��c��B1��Dk�b��!�.��F7�ReD3∖%��`2�(Z�I�*
�T�u9�.C�d�
q��
���ɲ��^��hbQd�.
"M����y����B��R�D0!�#*F;'h��5?��af�d蒪J�c�0���Ϲm>B7'
a���/?_{��c.&�~�[�%sr,�>��{��,��5����y_[���mƎ
�Qљ��Ra2`cE��P����2�E��)��TI��Ǣ<V0�pKW���1b���nb��T�`>y�R���"tO
Y��'I4Wn��[q!|������>YQ�r�#1ɞ�T.d��a�����hK95��Tas��h��bi�)�����D&Q:�Y�pc){U�?�O���rfR��E+���a�B��f-��0ط&�{̒�7���]�$���U�L��|�_;]3+X1hs�G������C/���)����*���͉����8�6�x�0�}�sǰ�����c��!��Ǿ�"�\z�;6]�Qp���IŁ~vCc������hG�����g?
������Gc
w�gν1��I�B��P k���D�����?�(ɨ�3��ױ�W�: I��Bl�Z��#�y>���y*��@V}[��v�1�1����B��UP�\Q66mx��D��
P��2��`-���X(��K�����Y8����1�
���41id��[�r?�ʉ���Xz�š��{�$����)�Nلc����o�8A2�I{�j"�.�\�ڜ?M�Y��63�y�D}�lM���j��I���@�"ᄵ4�{Yf��"�K"n�e���
���3�/P��5+U5�>�9dk9��br���������&�M��Ї���	X��I t�Qd b=	�~�U�P8�r�n��t%�����e�e��R�jV�j�r�خzj�H)������A̰�ݳ�W�W_scx���O�.���o�=�x�22��ٹI��/p��/c����<��_���j
=z�ԫ^y��:n1�:�#�`0�s1�K���?�u��=B�[{DS]<w��b���SW�m�@r98W'������k�(uT�cp��)��X�K,b����}�Á÷7��-ϝ.o�.���hw�v;_{�9�eͭ͹�(�"��i�Z`;�X;}�c��ϯY{e�0�SP�`�Q��Q��+)GS����4��P,j��	&%$kX��E7�޼��|4h�޴�۴��x1�+���n��K���Vfw���^9�'�l{pdeoׂW.�ټ���r��z�&�:e��.��N$+އ=��؎�onf�;�S�9�T�������v��'��G�V��m��<��jV�v��\]o�g8���L��6���\�r�����*"Z��{n��v�E�K���,�IEND�B`�!��PNG


IHDR��w&wIDATx^m�1�Q�ϛy��aê�Ȁ��i-�.c��"�--��`{�N�m����b!�뮫���d޼{���=p���r/�'���U�P��#�*\�zI��a}��籍��d�
'v��Yu�fչ;q�~�\-szS�Yz#����/m����a�QQ��Σ��E2��d�5���=���`b`G��N��$��L?����
�T��A2
�Zs�{i��$�?�t�&��Ӕw�Em��rw�¦�ѻ��ߎ���)����P�2���w�t{
9A=��^�S@���e�CNh�
���y��J
4���97T,��]�UZ��=�
ᮀ��hΰ�
���@���E`�@�
^X��?�vU/�PIEND�B`�!��PNG


IHDR��w&�IDATx^%�OKQ���@�dL&�d�&4�Q%;ѕ�
�~��u�]�uY�H�mV)�.J*:�I
�"�֠���dN/�����r�O��*262r��oNȾ���ߕ
ua��`N�Tj�,�0�E���Q�4u�i.���B�1m�a����41~~ưXDyw��
��NLn�[���:��cfI��魭1�i?<:�ǹ9�)�N�\��5���9����O�����o�ev��M��w33�pi����m��$�E�.?���Z��J���N�ֲz��y���c� ���%?�j|_,�ֽ\Dv~�!��
t����mg��\X����_$�2���M�Wgg�~xw{��[\lm�?8�{~�; Ȁ��,�;�c��r�A�����Q*��r�*ɂ�����>����:B[�
�?s��0�IEND�B`�!-�PNG


IHDR�a�IDATx^�Ͻo[U���{�u��ʋC�(U��*4��jT��d+C���"�2�v&�g���E@H)B�ΐ�B^�&�ul�q_����C�p'�;�>�Oc��>8��$���Ç�7�Cw���'f���'
��z� 2K&2�o�ǩ���-7���_��^�xs��	̴�h
��4ٵo�|�ɚH�}!�������ӏ���*��ꄥ���6�{(�2t��xM�*���G��Ls�����Ҍ�}���9�~��X�:%��.ad6�\�%�Yw�f�w��/��G��)��W/��~�Φ
Ù����PV��W��bQ�{r���,��.��3���ȝ�����J/�����z���^k��5�n:D�3D���{8ZF�A�Ȣ����ӋѕGx|�qrH�#n��q}�ޫ��H
Aa 
�	��x��0t�+
D&Gx^��;�;��w#!�3Y�;�v�Z��}��u��*WX�c��&�<z����v����"�G_^�>:�O�04[�0\֝6��#K!DܩQ�;wn6�����M6�� ��4�|J���X9�=�%=7�;?Kjv���$ݨ��j3Т,�.Y�������q�����qܙIt��y��
��s�	 �����n����c�*ʌ$5���]�߈_��ڍ�k�Ս�{3$@6�X��KmH[�H�Ui�юe���˔زl�)�T���ΌJfOj$A���EZf�����IEND�B`�!��PNG


IHDR�a^IDATx^��?O�P�Ͻ��
 �j�7�7��.,���	����ąY&&gv��-	`��^�n�@8ɓ��Γsn.��1%n��wAu�yu6טm��'6�>l��mY�t[�CUEm)w����%��!�6��*Fb�ID���.A�4X>@Hh�hj=�����%	|�����8!@R)3�Z���}��,Ú1L�@�$H�,$N��V�y�-��.�T����
P
PL�+"ލD�C՟A�wP-"�fG=3���)9����Es��_���4��Tt�������򁭌gW��zDn8Tp�\�&���[��W�3�;F�#���7呂��f,IEND�B`�!�PNG


IHDR�a�IDATx^��?kTQ���ؚJ�P,l�vK��.��~?����eJAW��B�UT���`c
W
Qɒ�
�&���3>���a�p��7s�r�́�	��?�n,�z�e�&f��E^����R���׮ֽY
coL8���oNG�'��g@k�-�W��<q��3���ϫ�IQ�K�����>�X��:@�U���f 3Lpy�A���wr��}��X�ʉ���:T��P1I
p��,+�ǎ̢��w������JFL2r `�no�u���z�Ç���5�>8Y2�)��,.��v�5�C��_�yЦ��ޣv�b9�˱����kn��}�tɲ�#xS���~����:�+N��)A2���L��|,`���)qe'���&�!)�吁TN4����{#23%o�LD���E��q<�~��釦d�CP1	a�D�o�;�z������Sz����?�$|d-�J�IEND�B`�!��PNG


IHDR�aXIDATx^5�}H]u�?��s�:�W���\b�D�(YY-XV�0-ZQ�4���dXi��#�(�6���^Fw�6i�r6s�6��o���;��s�=���:�}�|���|�/կ�b[�/Խs��?�@d@T m}���e�?�k9l:���t
�/��'��f�'�qdp�>64g�������5/���i=5��CJc���wO��9*����b$�m]������D�ɑ��Ξ����[��p�@�oG�w����+K������.b��l���ޔW\��Sm_=�B���m�*j�7*Yy�w����f!D��7��`zڠ2�J �䃲G�N�=<�J�m��syCA(�,2�X�Mۉ@A�]{��",H��e�ؾ��G�@u$�6Ӗ�O̓.�؋?͇�XH��p��b�.����`(��@�(�#�a��TU�`)^�EB�d.)�%�Y]u0t�o�6��)�J�3,���;H�S]q��M}L�?�L���f�WI�&��b��2 L]��l;i1{�K�"����`��و�ص�X��f!,�d|��ʀ���]'�� R6�Cpma���Xʧ�W�"3qL�lU�X5H,�����ᮛQ-��)
Ch��h�)vSci�`x"J�/�Mñ,b+ft���'�ly��t�7�v�Y��1 ����z7��c���;���΋b�s�l��"���6 �d@���ѽt�L㥿&����+�D$�/ ��1ve�?/]�EG����w	�\�	�� �잂Z���=y�κ�pk�T�����-���ˬe%OX�zV �����$k�y}�u�����IEND�B`�!��PNG


IHDR�acIDATx^�SMJ�@��� n"� Xxy.D*�=�k/�7���P(
z�jg�q��3U�Mi2�$���"#3P�m�cY��+��^�I0��l�*&�Oj5F�z��]K&�Ӎ.���?���ݾ���$�V7iJ�<�W4��<	��92:��Ej�ˏ��b-�E�<bX�٬�,�"��A,!ɽ��M�1�8�M$y���g"ca��/�]�{�@*������  ��l�|8�RTQ[�2
����;�X2�Hn	AGb;�)L�����{�c{$��Lu��+J2�9�+[����򡔫��%�Q'���~~̟���qԅ?~,��������/���r��IEND�B`�!��PNG


IHDR  szz��IDATx^ŕ{��U����9sΙ���N�K[-�t
��T�~�R@jE$��U�b��_@l#�H��&R%4�����M�$ҚT��^�v�s���y�{�e8�6�D�8�$Ov�_뷞���%"�7�r�a�
�"�tHֹx�v�˶f#3�H}?:Q��>ϋ��h�R&������e񻻖!�t(�������Sf1u�bR�F�i*�ݓ�z���8��R�>$���Z�gY�.e��Hk3�r����]�ڊ��/pު�h�:�T]�8�I�3Li�p᲋X�d>Ӛ�Po����G+��sf�4f26���ؑ�?�
Fc>��H�����I�h�Î��\��\:Q���Mqp�ё2{v���/�r��QľG\.��B�adp�sF�	'�z�
|r�cT��I���u��j�.��v�0&�B�"����ř0@�����N!_�L�>��ݿx��o�"�j�\��B9Д���bĕ�����Yds���bY���H�3�x��ش�y���03�j����X��b�?p?�&�`DzkB	J���;s*�ŢUW�e�@�…�-��@GU�=��A���B%0vܐB���G�zW�$7&��� ,� 
T���%�e�l���<������qR�yr t\3*�(��c"/ �ګȦ�(zFW��0�[�E�p����s�T���D5KPDTD�{�0@���3�u�&�����E�eY�E2V�6���_�{:�tS+" :B���8",���qR�%
Ãq1�~ʸ�]
��M�`[��p������}/�����t�g���`��A�����7�fth������}c/��ۑ�`N���7���%��g������{}j9z�@ �<�Rc,���'�̅�1`�mI�A�1��e�""�!���C�z:O:�N�:�j�B�*R8�,��*}��t�r��R1Z)��Qq͵�G���՗��x�~N������/��7��y;�m�4�IA]�d��pp��
~���cS�`�F��(C���/�cm,�jq!|DF���8�=��O�?�Ӵ`%f����^8��2�t�$8�{�RJ�1�ژZ���4�ŀ"��`6�����W���xt����/�_�Ķ�8F�:"��9S�qaV��͒�yg`�G�0�|����F"f�h��1(���Ov���-Ig�����r��˛춙Y3.{_�Ka,_{���63�2��2Q��`��:?5�+<�yl� �-�׀\w�F1��m��'9��$�^���_���7�r�˖m/Ȯ�*mzBN��))�!��ay��u���[d�o���j�~�jY{�W塟�V�ò�[�•k^Y~�M7��,���7}뮍����
�:N|q݃ק��ܼ��1M2�Ґm$�#zz���k7�,��C��
�Q�XT�o���k��#;��d�c�W.ctD��J����޺���wU ��'O���bͺ_�͞�f��45d�q�P��̦T����m�U�/�O�s����Cyhw�e,��n�~��Ǟ|�LC#b�����M�-X"�E
���z��E ���O����ӧ���6�Xi:���� �ryĘZW���G���V����w���}�����(���K6Z	�\�|�D2� ����}��nR�}
 ��;['���?�;;+�0Fp�### �|�X'ƀ��B�\�X(S�R�G�t`[��bDm�UH�JU����@p�S	#��SI��G�U��H�uS�T�z,���:��=:��8$��z������q��i�+D�O�.E�cLlj	�d���u�}
�Qq��0B+
���1qR*y���d��L�J8	�D�%�ۏ����(¯�1Ơ����u-M�@kU8��F�1�Q��ض�6�ڎ�۱ɏ�Hק�,x��Q�.N�!�ؔ�w]!�=|���&�VH�1b0f<][Bi@R��O7�)�/^�:�Z�d}�J�DQ�R� �|m��ўv��Ty�d90:L.W�-&�XF+jV�Q�h��ۙ}���� 8s���@j���۲��|"��?׭K-���1&�W+ X�V檰4���D9أo7NΧ�My�vE�x�
��;�^W�2z<?��T�2����k�����A�������?r�qN( ��S�a
�?eXt�έIEND�B`�!��PNG


IHDR  szz�pIDATx^��{l���gfv׻��v���JBB���OIH�"̥�@K�VB+��*��Җ?*$�"!!��Q����E�+RKR@�A)Dh(�^N_ױ�ޝٙ9��f�J��(ȏ��gi��=g.G�ӡ���_�9�[�+�C7�^�r���\�]�DV�5���%��?4���s���]}_7"¹p��c��77/{��������{�|�<��s����q��|y�ا'����۲ X�.��[��^��lܸQ�ܖ��{5�>��Pl��͗X��j|����#De�7�Д	(��9qb~�x��_Z�ly.�p�g�dw*�d'ASg<t�ҁW����T�{'�G�t���#��c���#G9r�]�9/�k�=:���@F2^X�}��0�%\�rtT�߿_���6� �X��F�\at��N5��I�U���3
�›���%�K�v,Q%�0��G��18c�KU;2Y�D�c��Ӫ��������U��˜�R��Wv���;(��D�����՞��	F�ʚ$�D5K�R��X�R�&�E��Zl��Y,�h5�V�;oeö.��!L-&�V(W=�~�yf�
�RD�~�PJ�x%~�Y<Z5̿d	��6�L���S�g�^\21dp��q�¾2Ij��Nkmf �˹�1�\���J�M�W��eA4  ��Ou��9Xq�r^8��όL�Y��J�bg��ah�V=;T1���� �Sx6�6�9K\����Z`՚,_��O*W�8x��� Pg~X���+j�\�E�d�\ -C������h����L\��)����:Ӝ�[�� "g_���ns` >|�lo��G��6���cƎa҄p�LRKQ^���0�a�w+��w�6|B��E΄o_�������W�e��D��M��Z�s�T3�7�ц�y��J��=xD�4�{�{��gЕ?&��[㱚��?�|뎵�Z��#��0:4J��s���a<�}Ukǟ�y���B*�D���>���q����9w:���~o���NLe�)���7�.]蹪�V#�$���v���>�w%�H�TJ:n|4s�o��!�NO�4
��߼�u�U[g��W��"�/����l�6Ge�̻�^g,v\vi��7�|A�D����u#�n�� �^����W�
�p,���n
x@p���]�̶�q�mת�?�̋/�G�NZ2��DN�Z�<��3��5+i�={DP<q,��p}�ߡed�9�n��Οm\��ֻ��[���̜b;W^��m-|8@8>Aަd=��%C��)�8lj��_�����"[��;���7}v�Ž�b�W�/\ǜ����l[�yڼC����%�VI�]�+����$���!z�S�΁���.pQCwt�qr�xǃ>3oQ���s�,[������Q�G�i�?eE~14�G���Ó��{��&�4qŎ�#=�,  ¾g��~��E�6��_�� �����%��]�rcˬ�"�Z?�O����&�p��v��x��0�R�$1YE��:fa�8]C��5�\'��(�ମk.��ڢ��=����/��L����Ċ&5��F3�Ω��Za�2D�j�(t����q��= 2e���E��o����Z��m���.�7�MM���R�b�AΫ�;���$��2�:�e���'�T�"��t�QOm
Mt��T���S����y<��W"Bj�hbmH�F�C\P7硵�h���G%
AP�(������X;�86��)8q�8D��u7IAM���N�ī��8�$%����{����ɽ\�u-{�p�
�y�/�|
Iu}���
 il8��G�B�����ǖ�ѭHCsS���k&�T�*�	�(BkMX�0�R��8��ش�5���}��{��zK&�wM�)h
2>A6��Qd2S�!ubHB�5R�j�8�9GX
1�P�c��'���%� ۱�вz�ܵ��`����Ly�|q ���Bi�h9��&ڮ��o^G��~N��Fy
��w�`��屗��%�ӟƆ�:C-
�<u�����yf�8���ؘ74����_G��9�
������/؝��F爓F"�k��
!L�5�'�:��	�N;��9��
�@�G�+IEND�B`�!��PNG


IHDR  szz��IDATx^��pT���sv���nB!"��`�bR������h�Q�V+��Z�j��V�/�ة�юc�#j���c��� !$$��z9�|��4�NeF��g�sv������>��^�>��q  E�.�\!FϴCh��j�Q��BN�~�Q�W���,y�Ϫ �)/�äJ׺�T�벊�G�4���H±*�d��;���ζ_�x⡂����32��o>��q����������#���4�D�ƥjt-��
����:��㒍/�����"�0ʐ�m�[j&4EE,��I#:U ������ ���۔^f���q��8�};��2��2��z1IPIdǪ8�De�'���w
g��T^�;��@{fqm]�Ґ���8n1`�:ׇN���{�Mz�h{�b`�	Py}n��buG��!�k��輇��P�,^2����pH���=����ԒQ�<�ʡ�F���PW���8(?�Q.��ǟ���=i[��Ent�h�	�d@҈̓��H0�qp��!=����s�O��/��Gsf͢�q5)��$:��p,��J���#�sp��t�~���|��
m9�z�qQs������{qUD�ш1��|m1�
�s$C����qV����]�g/�:f�`κ�Sga��xlр&��Sn
^6�
v
vR)"���gO����'�g��F5������}�A��Cx�Gn�ŊK֔����\�۶o�k�q�S2��-
�,��`�g�t�)�$޵?�0���0�H��L��`6���,
��U
�{��_p��G�sƃ�\<��.����Љn�z�v�L�԰��o�����o�Hf��@(}Z���	R*����|r$��s��[��9񲘁�g�d�)�u��>�	(�bLIQJ�]�Nj��Y��G�>i߿�o'���2��}M�<Ƒx���z���/�
(J��Ak] �Bi
@PJN�^p�p�ǰ���;���+/��t��do;ʇp�(|ei�p�}��0��>�+Xǁ�#�ߺk��h���Sq@�7[�r^ݾ�~V��3�>��3��3�Vlܴ���)��ά�t�r � (e
�0Z#��c�T�0���}�}�N.?�p�ܯ�����X�5��o�P{�X���}����Z�以�͙�G- ��+q��jmܢ�8&L~�gf�O�Z?���Yu{��(U� ��@|�(F�TT�ԍ��Яb�ڙ^�|�e��o}l�3Kv>�f��rﲗ�R��Oo��o1l�! r�=��]��7n|l�\x�Jٴu��|�U�ܸB�+���/���bym�"y������\$7�Kٴ�W���\��{�|�o,��W�Q@�����U�J)n_|~iDŽ���~��W�Mnn^3�i�#c!B� 9��2sk�ԱvK����~,#�c�l�mɱl	�ͷ������2\ Du���[f�t��O���{����K�����)�kn���)M�6��X$��G�ߓb�G{�m~3cǍ'RfO[m�ttt���U;�I�1cJA*�������u[+��o"T^Igw/��^\��[o�,.X�O�ܰ�� �̒L�����!��xn�ƂXS�p@�%�S��>�l���s$S�{��l���*�4��Rj�Wݹ��>	��Bee�55֑Jy�<��>�T�(��)�q�*�R@)M6�A�`�!�y�R��d�|��hj�cTV��X	d�%`E���I�s(#�h�i�7he�</�a
E���ѾŠ�X�[/P|6�|e0�P|[�s�7�e��0��=]n��-�X�{���K]�D�ߡۅ�R+e)ދ���R24D�|k���xn�PHAk��R��7�v�e)�R3:��>�'�#��0�E�D�������eR4a��8�@��n�L��=C2�$X�I&2X#@,�o۵q�`�e��K#��I���Gӌ��1�'�ץ�Yp�ʂ(�)�Җ|._LĘҌ���z�|�p�a�ޞ��#�D���}��`��za�(�:�gL˔P��1~44�
�'8n �����ǰ�:�+���H�"�5~�Շw{��N��j�d���@�$�|����+n?f�Dpe���
��v�'@
�K]��o�l���QQIEND�B`�!�	�PNG


IHDR  szz�	qIDATx^��{�UUv��<�/�y��ͣ��@$A���Ȍ�Mt�cJ)�G�IE5ј��LBY�U1�G���1>�88dD�ѡ{�����mn�y�C�
--��Uk������^���Z�y!8�ûPJs߮IA��s[�J��_URwj�V(���R2ԟ�ͣUO��Ч�FT���n���h��"X\l6/���d��5~G�r+��7�&��I<�B<GU��cC��r�{|t��6��V6�?����y\�'`Æ
�[7G[M�މ6�iM�H���o�4MT �*Z�ēu�l�T]�����tv߭��M���}��`p	�=����-�X�;1L��0nեp���d�l�P�3�9�Tf���12�9��O$jD��X`�e;`kۨ��ߍ�a>��}sZ�G�����dZCJ�U�r�D.W �J�3��&, �,�bə���>��+D������PR�$�@aGZC57M>O��	pYW��gĪ�2N�%�uX����q��ג�
��狼�z|Z��.x���H
%gಯ@�B�O�9�DFf0o�rR��4����{Ǐ:.n�D�l�^�),aA�
}��:_r?�G���!sV\A��ӶI�&�xȠ�
ʼn%%ͳZ���|���A��- ��ܴ�o��ق˵˗�F@�-A��c�
wu�_���=Ul��R�$/�*����Z��D)�xFs3�.�������$n�A���ˮ\L��e{E4Q���S_�q�f�===�X��mK�ջ^���/�e���J��K5_¨K▋�"��T����\�����v��a�{�tA�=52��L��i��'�"�=*S<�G��I2�/�K���|IX��s�K�ᯯ����?<�;<�+T��T�)QJ!����a�+��D�r���
U@?��(���Բ�'��F=�!��[�N;j��ݳrUڝ"�Br9܊��'3�&���R�֝Voa(kdh�������
�h�a�3���G���:��?jo�g�r�S��+y ,�d#'��L�,G�v]������K�B��1�y}>/@J5���s���‡[~�&?^|���hL5a4(J����]ArnW�o���ع�ݯn�+k,�X��CR�����qb/��_(_��14���`v2R#�z䡿����?��[�3�;Df`�WQZhmƈ�0�q�IC��芁��ϛ�s������8Sebz�_ftr���G�o���Ǔ�����4O~���&`���g��x��)u���a:�cYz�c��1*�"H������0b�%�9��k�ؽGe��|�'f55[H��?�������ap@�9�=���
��?8���u]���o�#'���MV��ӣ��3x�2^�Bฌ�c���𵛮bŲvƜ�1
���!� 4g�J\1{ã��;�|����ך��z���n����hт'6u�-�ؽ3b3�HR����d�!Q�`V"�́L�����sY�x�6�'S|�󽮅Fh@(^}�C��``���7_������,o���|��}qכׯk���RGѓ�]��R*�����f����&' Y�eI#��n�Ռ���*4h�V��]GI����2;��ͩ�_��u
'>:�����w���_Y���,yՓ�Z㇚Pj�UK
Ԇ���J>��~�{/���u��I��Y���e��%�p�2�|�Iy#ۿ���{X�6ɢ���}~�g��浩�8٢�/U��5R��r��
$�J@�ں��������y���q�������6^y/��ox�'��С�3E����PRGk�@6��E:[B��L0���R�7	�R��(�`�0�S|��~��Q���|p�v��]E��	?�����P��k�NG�=Us��E�	�N{n����s{�|��`����<7dv{�|����+��Χ�<�O���k�{B�R�>^5��h�9qj���B����
."��Rs@���_��_?����*#,]=�w�ϞCO�ٶ3�#�j��K�J3���M�rA�@|��;�I4�nG=�x,�G�#6�h+b�U����F�J]p�s}|��s��\�����6R4%�ʾ>Ns�[0�Ѐ%LƆ$���o���fX�
DR�;���ue���Jӎ�V�C悚h"){������:��iݷ�����ͬ�2�&�K�xaS�Oz|���[���}�s����qў�D�/
{�5
�;�4<��j����i�cb���̸$�뀉������Ⱦ���B\"�j}њ�a͸����u�-v�X~'�T�[Q�{:��J!������C��`��8?�5 ��+���K`ʅe�IEND�B`�!i	�PNG


IHDR  szz�	0IDATx^�V{�T�~�s�������R.���Pv�ĭ�R)����Rk����`�lL01�GS��/�Ml#ު�@���"���B�������}f�~�ܾKg�Aٍf�����M��y�|�B�RB��m�\��(�go�iVd��3� _ƅXLw_�P�f/|�K�~>��G[	���kL�_?�";o�X���Oqʮ�,���x���������p��L�X924����n�_<�����`�&�����N˄Ѓ3�>��?���k!�28u��<Q᭨�GU��!200���޺�n�����-�0
�E�;�x���b����[H�t"7-� r�$�=�G�064�h�Y�t��K�k���+O�	�B����#�,��b��	!�C�He�Z�k!�2��&r�,�4\�E66�\�m�T��N�R&k�y�
P�IZ���$���A�l��(�fȹ�FJ��$R)T!0�!HA�'��4,Db&V\ӎ�[i-�"�c	��<��ͫH�]�6C�dHg�$LyLbH��?�<�b`Z5f56��B0|Z�k�5-X�,�9	���6jh!�[�qb�!"���VA�K�(f.���*YU�e���(�c 3J�Chz-��4l����u���I�Gqݭ����M��� �s�	pV�t-.i�;]�d5����l6˦��0�e��Yz�:�W'��P�ypJ�9��5��@�ʇ�K��i�D�e:;;�w�ج���=�	���1�?�3i�4�ȀF�u���,��
X�<q���K�P��(1ο�%L���zx���O�;�CF�L��)�d�cÈ�a��� 1:���<r,�޻w/�w��ȳ�b"<����ag�hb�u8md�~���q������]��CB�(ם������>V��o���K0��L8Y��X�	Y�B�l)K��1���pL
!�ħ�ޛ7^�����ԈݥU<�?x��gI<Ga����6@HA���#ѝ�dYV���@|��B0p�A9/d�#�z'?�ee�^>J�y���ky��}�]�X�A
�Gv,�c�>A�|����{�Jt~rp��{O3F�\�x|t���y��Aܷ�)��Г`�]��+��(��)�=x��˪�����M�c��x��C N\p�B��=�F����~z�_^�WQシ-n��nh��w �H���s�<��qۯ���\L,��?�
�~T	��-_MQ;���W�p�ý�0Rx�M�����%h�w��o��؋DR�����YS�o���Ӊ��̺�m���ם��I/t|�C;���mMM�ƕK�1+\����ĶUB���!E��s9�y�ia$#0T�M���7۲��y֬j�m;���8�u��NR�i�̰t꫞���G�R&W~v��/��==�6ض�@<{�4$�YD�0�v:���~4�p� P�pa/>�0�!8�F\��-�/Æu�c}ކi�����aH�L�,mnIJ��P��2HM���)��w�X2�~��m��+k
�z"C%�X��8���W���D��Y�"TEA�?���$�F��2���~���8��E�X��MՐJ�3
���B�$��7ϼ����=�^���R
�v�:�������X�i��y��GÜزy#�����^D�o��C�%,i��ukW�0l�~�?���̭:^~S 3��z=:�����EɜL|#��B��e#���u�ҵ`�Y�E<�B�σ����`��C�< D ��"�F*=�L&���pJ
�B�H��7
BMU!R
�q�:��qY+e�)T������mQ̛7���׫b��j
l�B�4Һ��|��{pL�ua[��q�y�s��D�t�(fƿ���d\�b���j���2��Zq�ȉ�7Ʊ�~6֬^��a�o��M��z	���@�MOO�,."��E>`���p�+~%8刎$`�b�X�f%j�+��:2Y��(\�E�Ix�d–��ޤ��m���ˊ��$C�!I�9 @�|�e�bANm̙Fcc=Μ�e�hl�����rʼn'q���I�H0��ѡ�_|c)TZU`z��˚5o�R���ȳ���B"�\q�Ź�p�s^�O�e||�W����7^�~}K���q�T:��:�{��|.=R7��j׵��|�g�%o�Rȗ�=2�Z�]sdæ��X��ʧW]�o��_�r������2_L��/o�r.G���kb��t�B瑮�1��ܫ��%LLPhRL�(�V ����K��=K��IEND�B`�!	�PNG


IHDR  szz��IDATx^��y������r�9sf��n �S��D��L�b
nI?�6&M�MmL?���I���hh5��k#jk�~�d����0��3��9s��˻=KgC&\:wr�~޼�{_�<O���Z��0���R�����g6��ږ�CIݥ�Z��^"�
��''�h͓/�<-��Q��
����kM�|I���Ww��nS�)%��Xf$�6�hs��vb�����ά,U�+S������z���g��?ɓ���իW���tZ�� ��������X�j�e�D�tkh#D,�H4d����ٳ�̛{k��{�ׄ�Ebҝak�1�h��>Kf�nܚK����I�Pɜ%?|���3���1|��������2֬w �Cf����LD!��}N崶��5
��h
���j�b�\�H��3Y*�`-&6�Jf��̏iD@:�n[hdL���!�!PS<I%P��ZC-��P aD
`VG��6&Dk�
N�e0���>V��
=�1�[8�3�`��Q�ӵ�b��Ij��Xv��>iJ�/ՌX�n����	����j}"uḸ�2Ŋ���A�(c578�Y0C��zA�"��|!�DV(D�e��(�J)-PR�6���Hϗ�������H$�ry�������u=W��A�-A�c�
/�⭃��Vh��~�_�岜��V���o�8���F,b`J�?�J���e%4�DK�-��g�F��400��a�������\���M��+�`[�5��A>��R+�1㸕Ѱ�W��C��%�/h�&_���b��{l�(�EW'�N��3ߣ:Q�s|�&�g�j�ߡrd�����0��~�(�eOo����ߝ��+VK��7
R��B���	D �I&��,�����ugwf�;�qq�z��}�B�(�u��U2C)ܪ�I0|j���wU�,��0��u���C)��������4L�|R��w0���O���KLU8�<^��ƌ'9�g�>V	?�n�
@w�\Z'L4z��ZZ1�ï0��[[e�3���6+�]J���EQ/rh�G�76����&���ZIɷ�<���_��	V+�Z?}j]n2��7���~6������Ӆ�?�p�-�N��U����N���k(�tmE��h������q� &���?HC{�����A���ǖRp����[Sx��=]����ƻ/]�M�#�ͷ��[;=F�P"&}¦�)&�Xfs.�����{���ij��x�y!Zk���X�V��Q�"��R|��[��ۗ�4�<�l��ֻ�Dg�������!�C���U*x�*���ej��\��z+.�K��w�e�[~����M��M?�q^~~����Jvp�l6;C�Ҧ��,ln�mӜֵm˖�4�?�B����S$��C|A�A11�"b���b�ʒË́"!"��-I܊��-S���t�ȭ\t��-Ȟ���{^G�ʕ2`����e�v-�3���XS� �"(�@H��"=�&;V�$.�M<����h��ARJ�PHÆx#:���%Ct�~/�]+��Ӝy�'��NL`�w�絫���6|D>���uP~��4z&���M���Xj�T%Bh<!�E��m�M��A��7��{#��R:��ds9l�2��.��TPC�BR���uqsy�TQ����\�FHE�t�i�{�I�mǶ��8��|��Vn��he~��?'@���DP>q�2��Y��
Z�ɴ�s�yh�9�R#�BȺ{�p��$�s;��h��Yp���>�w/q���2���O�D�h�����mדF����>������A�p|���RGiٓ��
��T(�l�BB�l}��-���S��@`��3�uHJ+��q>1�)bq>+Ob�QBR-2G�=�F��>�O}z�$��Fl ,����wܲ�"���LE�R�X� �h�1�D�s_Ϟ�@� ����AU�����Q��K�>�˻i�VH?��
��^<�6t^��	/����\2�˴�9�'���J�)yVi]9wi
���
߳��l�#4�F��M�����H�l(J2��)�G��/\�	�a]��w�E�z0��v>�����f�w��a�QR��r���(�P�g
��	D=���X�/���r-O�y$���JȈ��X�?6��h�K3��>��oM 
$�pޤ���33�?珸�Qw�IEND�B`�!V�PNG


IHDR�aIDATx^u�oh[U��߹Ivg�t��4��ً��i�)�ƨs�Q��R�n��E7��"#����ҵb�i�R�ƴE��O�M۱��]g��
�4izo�{or�y<���/|8��y�È�c��RO#�<U���R�\���(�:122B�g�(����y�2���w?�+߰	$�����̋���|����4�d�&������}����=`"
�n���:�,�;��](ɍ�����w��
,��;�2������y~� ��8@J�l�Aֻ�j(���k�_ܚ����@n�h\ü�Y0Ÿ4IH�LdlN2yg�-Z�C�AD
�t&�RN_u���ٗ�v:3q�T
�L���Y&e��Xɥ\��~�_���p�1�QU[���x++�i�sm���R)���R�$���!�I�XV.�,"�G/�
AB௫��3�o,��H�����|��$>������ou?z�Ĺ������!�lz��^�C�����;px7��Qػ�SV��N��:��ct������Q�v�F��C�ʉq��g�Z���m�`�rť����}�t��h!�B�bt��E:���~���|O-��z"E��j�����}`��p;c�^ݳk�iH�-,%Ml��P"�_{ǐ1�{��x�q+��B�����훰��Et:�� �T!$�$�\�<�n��br��?�n���\�����č&�g�欿~=s�U��y���=�̥�䕅%�Z���L|�`
܊^|]w�Ka%HE�b+��5��Q�pIEND�B`�!J�PNG


IHDR�aIDATx^u�;hQ���هA� �Ѡ#6�4ƍ�A�`#v)"
�����Kkg;�����(H6b�,
�,ٝݹ��=wf�+�\�������3PUH�JA������ڣť�[w�޸9?`����3���|y2��%���_'�ޣV;�4�`y�髅�wA�0�͜��u=@�%�cg��m~����/^���������8:qh5p�~�9����1\¸|�7�ZM��<C�GĄݻv��\=��ZRQ{��0�z��\�t��62�Q�9�Ke�|��&`��G„J���4*����Be��
@]0D5T�M��z��MCU��/b1�F�evI��`u�|4{�8+�D1I�+���?A!��
^bl"�� �	(O�>���`)dP�P��w�LP���L��kܓm�Ę����3�V��%�;8�hB���̬f�ܤ�����%f�;>�|=e�	��b�ġ*���G�A@Z_�t@up��d�jP�
�?��$mr)�IEND�B`�!#�PNG


IHDR00W���IDATx^�ylUe�ǿ��K{�х.��@�LiY�
�0���&D�
�"�l���c&8��щ��f�8�83$��3�a�@6dkii{�s�9g�Ϲ��6X�?
.ɜ��}�=�>��>��V1?�ˁ���"P�z��=��/Y�N��+D��7��v6o�|��ϟo����fee�
�]���y���g֯_����"��s�Z�ʕ+�Ol�~������Wh�0M� 8�梢��?����ĪU��
6�6}�G����E~�1>�[׿���P聎���c�=�S�����lz��'���ޞ�J�L��lelѢEwmܸ�uIUU�r����J떼O&��})
�a�]��gV�7�]�v]zꩧF�A,X�@�lll�`�4
//�Ǹ1Հ�¿><�Ϗ�eL[���gQ���H$��	X�p��:3f���|ki<=����ؑ�(�?1Q�'�#��:�G���C��nڴ)�t�R㇊��ɓ'/��!iIX�� k�*�X��O������
x��(h�L��oo�ŋ��_�zu���]lOT���G�#JRi���X�=�N��΂1c�}��ݟ�����y��;
qUVV6�;Ex4�@ð0J��@�
��FUQV������.ю������h[�l�fϞm|/��f�pU�f�/���}�ω��R@��=�����hDŽ�����h���J���,d*�e����茎�}������iSH��1jx5J�����B���+P�V���a%��A(�.�*`�(Im۶͘6m�q]#�|�r�k֬ip�����$�/�J)͏7�ڇm�wCUS��X�����b��"|��Q\��NR�\s���^:p�.+
�N!q������v婯+G���X�_���8x�O1�<M���>�;�[�_�ӡ�������$w�ءO�4ɸjb�7]+V�0Sg�ڵ��sw���ۉ񣫁T'`8�o�I���Rh`z�h�14�X��s�qk)�z�0:"*]���Emm�Ç�)&D�Q횟�h�Y6����P�_tEb5�
����
F�4��}��(q�B'j��p��rtv&d\���etJH���ꐹ�}J!��Y�o勚(���"/7��S�t�Q�(�HZɊ��̱B�9�q-Ŷ��b��~|�U'\NCN�����iǏ�*^سg����`\�*��ʜ������1��&1lh
��x�hgZT���̲
8��%TU�dqK�vT��1uB1^�s+����W2�ޣh	e��0��pϲe����<*���������>�|h��w������e@��T輀9S*��~�;�)=���xf����ӛ$
L4��S�v��~SSS������59yn A�=-������|||�
�QrI
�U
�j���0�����
7 �fi����
�>G���/)dz��8�y:\r[R"��?a|�Uyt��"�ŸC�|��m4;10\JQWb<�J��:�����ko�p�R�NPKwS������
��KEDr�YJ�?d��h$��c� 7ϙ�(RDK��Ts+QY�C�:g�U����Xz���H
#�s�����Mا7)����U�ǩS��N#�?��;z��%��h,����jF��p]ZbEA�����^��A@뤀v a�]Ѐ�Y̜���p6E��^I�N�_�!b���x�'d�=}��!<�< �یl�FA�_�o���$b�*�#��E�"�]@�P/�Za�%�D�PQ܂Y���@d��gq�W @����J��p�X����,g_���yA~��?Ht��G*�A`y6Ev���=Ma(D�`�D�$MZ��O�&/�˳�PMbG.'�"y�K�ޤ��B<3g��	5���u'����H���-R4I��
/E]M���x��9�"�0W�~Y���2`g�,nM\4��"�X,�|��u�֙�xXy�����$��r1n�@@�`�MXD�&�+�u̙Z�����'m��n	��(N r�&qCU6ߕ�(��̅;
����yyP����b�J$|�&�#��Z�}�"�LuyK�ᅝX��;X�n/��ĝ�)�mM`͞/�#0����YUք��	}E� D\
�o�7ɢ����tٌ���cGTɈml&�d������/�Ʊ/;q�T'~�����s�t�F�6
���7�1���,�v*�,!��O�$���>��`n�%C~�:�\``��v#]�瀮}��@�<r:��0�"bȿ?mRb��z� M��Ǒj��a�M3# pɵ���i%V��J�_���"�7s?��DWz��	
J��g�����Tr�0�,�X"	�I��ې���RG��5�,pm��|�Hlښ�}�/�#N2��O:��8�������h�D�/
��q��Rx�\���4��I�$�1���{(�������S)���.�B�{>�WX1��~c
�Bn'_�(����&�ǻ��w
+�惺�)��L�Li
���_��l���+�x�.��^(��@����F2�Z'*J�{*�ͤ���#��Շu�ARǎ����V�����%If�%a�GQq�0o:�	�S��"@�x������k��2[��d���K�q����0��I�دS��Y"�X}9��D�y�FԺ7�/��-�#ƴ�석>l�{�N)�?eFY Z.�q�vfLZT�tI�>��2��g�@@�����шqe
i$�곙��荀��5
nd_#��}"Lʜ	����<�����~
�<B�뽼�U�FR=E@'����prz#QC^ۓ���
/�v+ڭ=.�6��ӬjU���Wl�����\��3/Y_�w�O����3�2now#�e|��GOt'I�A��{D���U�� �Ƭ�=	�n���k�A�1<��٣��O����߲|TIEND�B`�!�using System;
using System.Windows;
using System.Windows.Data;

namespace GridDemo {
    public class AutoFilterConditionVisibilityConverter : IValueConverter {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            string strValue = (string)value;
            return (strValue == "UserId" || strValue == "HasAttachment" || strValue == "Sent") ? Visibility.Collapsed : Visibility.Visible;
        }
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            throw new NotImplementedException();
        }
    }
}!�
<ResourceDictionary 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:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:local="clr-namespace:GridDemo">

    <DataTemplate x:Key="columnOptionsTemplate">
        <StackPanel Name="options" dx:DXDockPanel.Dock="Right" Orientation="Horizontal" dx:DragManager.IsStartDragPlace="false">
            <dxg:OptionsToggleButton x:Name="showOptionsButton" Width="15" Height="15" Margin="0,0,3,0" ToolTipService.ToolTip="Show filtering options" />
            <dx:PopupBase Name="optionsPopup" IsOpen="{Binding ElementName=showOptionsButton, Path=IsChecked, Mode=TwoWay}" PlacementTarget="{Binding ElementName=showOptionsButton}" Placement="Bottom" StaysOpen="False">

                        <dx:PopupBase.DataContext>
                            <Binding Path="Content" RelativeSource="{RelativeSource TemplatedParent}" />
                        </dx:PopupBase.DataContext>


                <dx:MouseEventsEndPoint>
                    <dx:PopupBorderControl>
                        <StackPanel Margin="11">
                            <StackPanel.Resources>
                                <local:AutoFilterConditionVisibilityConverter x:Key="AutoFilterConditionVisibilityConverter" />
                            </StackPanel.Resources>
                            <dx:GroupFrame Header="Options" Margin="0">
                                <StackPanel Orientation="Vertical">
                                    <dxe:CheckEdit Margin="0,0,0,4" IsChecked="{Binding Path=Column.AllowAutoFilter, Mode=TwoWay}" Content="Allow Auto Filter" />
                                    <dxe:CheckEdit Margin="0,0,0,4" IsChecked="{Binding Path=Column.ImmediateUpdateAutoFilter, Mode=TwoWay}" Content="Immediate Update Auto Filter" />
                                </StackPanel>
                            </dx:GroupFrame>
                            <dx:GroupFrame x:Name="autoFilterCondition" Header="Auto Filter Condition" Margin="0,8,0,0" Visibility="{Binding Path=Column.FieldName, Converter={StaticResource AutoFilterConditionVisibilityConverter}}">
                                <dxe:ListBoxEdit Background="{x:Null}" SelectedItem="{Binding Path=Column.AutoFilterCondition, Mode=TwoWay}" ShowBorder="False">
                                    <dxe:ListBoxEdit.StyleSettings>
                                        <dxe:RadioListBoxEditStyleSettings />
                                    </dxe:ListBoxEdit.StyleSettings>
                                    <dxe:ListBoxEdit.Items>
                                        <dxg:AutoFilterCondition>Default</dxg:AutoFilterCondition>
                                        <dxg:AutoFilterCondition>Like</dxg:AutoFilterCondition>
                                        <dxg:AutoFilterCondition>Equals</dxg:AutoFilterCondition>
                                        <dxg:AutoFilterCondition>Contains</dxg:AutoFilterCondition>
                                    </dxe:ListBoxEdit.Items>
                                </dxe:ListBoxEdit>
                            </dx:GroupFrame>
                        </StackPanel>
                    </dx:PopupBorderControl>
                </dx:MouseEventsEndPoint>
            </dx:PopupBase>
        </StackPanel>
    </DataTemplate>
</ResourceDictionary>!�using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Dynamic;
using System.Windows.Data;

namespace GridDemo {
    public class DynamicBindingList : ObservableCollection<DynamicDictionary> {
    }
    public class DynamicDictionary : DynamicObject, INotifyPropertyChanged {
        public event PropertyChangedEventHandler PropertyChanged;
        #region inner classes
        class SetMemberValueBinder : SetMemberBinder {
            public SetMemberValueBinder(string propertyName)
                : base(propertyName, false) {
            }
            public override DynamicMetaObject FallbackSetMember(DynamicMetaObject target, DynamicMetaObject value, DynamicMetaObject errorSuggestion) {
                return errorSuggestion;
            }
        }
        class GetMemberValueBinder : GetMemberBinder {
            public GetMemberValueBinder(string propertyName)
                : base(propertyName, false) {
            }
            public override DynamicMetaObject FallbackGetMember(DynamicMetaObject target, DynamicMetaObject errorSuggestion) {
                return errorSuggestion;
            }
        }
        #endregion

        public DynamicDictionary() {
            SetValue("Id", 0);
            SetValue("FirstName", "");
            SetValue("LastName", "");
        }
        Dictionary<string, object> dictionary = new Dictionary<string, object>();
        public int Count { get { return dictionary.Count; } }
        public void SetValue(string propertyName, object value) {
            TrySetMember(new SetMemberValueBinder(propertyName), value);
        }
        public object GetValue(string propertyName) {
            object value = null;
            TryGetMember(new GetMemberValueBinder(propertyName), out value);
            return value;
        }
        public override bool TryGetMember(GetMemberBinder binder, out object result) {
            string name = binder.Name.ToLower();
            return dictionary.TryGetValue(name, out result);
        }

        public override bool TrySetMember(SetMemberBinder binder, object value) {
            dictionary[binder.Name.ToLower()] = value;
            NotifyPropertyChanged(binder.Name);
            return true;
        }
        void NotifyPropertyChanged(String info) {
            if(PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(info));
        }
    }
    public class StringStateToBoolConverter : IValueConverter {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            return !string.IsNullOrEmpty((string)value);
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            throw new NotImplementedException();
        }
    }
    public class NewColumnModel : INotifyPropertyChanged {
        string columnName;
        int typeIndex = 1;

        public string ColumnName {
            get { return columnName; }
            set {
                columnName = value;
                RaisePropertyChanged("ColumnName");
            }
        }
        public int TypeIndex {
            get { return typeIndex; }
            set {
                typeIndex = value;
                RaisePropertyChanged("TypeIndex");
            }
        }

        void RaisePropertyChanged(string name) {
            if(PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(name));
        }

        public event PropertyChangedEventHandler PropertyChanged;
    }

}!�using System;
using System.Globalization;
using System.Windows.Data;

namespace GridDemo {
    public class XmlIntegerConverter : IValueConverter {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture) {
            CultureInfo InvariantCulture = new CultureInfo("");
            int i = int.Parse((string)value, InvariantCulture);
            return i;
        }
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) {
            return ((int)value).ToString();
        }
    }
    public class XmlDateTimeConverter : IValueConverter {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture) {
            if(string.IsNullOrEmpty((string)value))
                return null;
            DateTime dt = DateTime.Parse((string)value, CultureInfo.InvariantCulture);
            return dt;
        }
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) {
            return value != null ? ((DateTime)value).ToString(CultureInfo.InvariantCulture) : null;
        }
    }
}!5using System.Collections;
using System.ComponentModel;
using System.Windows.Data;
using DevExpress.Xpf.DemoBase.DataClasses;

namespace GridDemo {
    public class CollectionViewViewModel : INotifyPropertyChanged {
        IList employees = EmployeesWithPhotoData.DataSource;
        public IList Employees { get { return employees; } }
        public ICollectionView CollectionView { get; private set; }

        public CollectionViewViewModel() {
            CollectionView = new CollectionViewSource() { Source = Employees }.View;
            CollectionView.GroupDescriptions.Add(new PropertyGroupDescription("JobTitle"));
            CollectionView.SortDescriptions.Add(new SortDescription("JobTitle", ListSortDirection.Ascending));
            CollectionView.MoveCurrentToFirst();
        }

        public event PropertyChangedEventHandler PropertyChanged;
        internal void RaisePropertyChanged(string name) {
            if(PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(name));
        }
    }
}!�using System;
using System.Globalization;
using System.Windows;
using System.Windows.Data;

namespace GridDemo {
    public enum ColumnChooserType { Default, Custom }
    public class GridColumnChooserToExpanderVisible : IValueConverter {
        #region IValueConverter Members
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture) {
            return value != null && (ColumnChooserType)value == ColumnChooserType.Custom ? Visibility.Visible : Visibility.Collapsed;
        }
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) {
            throw new NotImplementedException();
        }
        #endregion
    }
}!!<ResourceDictionary 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">

    <dx:FormatStringConverter x:Key="FormatStringConverter" FormatString="D" />
    <dx:ImageDataConverter x:Key="ImageDataConverter" />
    <DataTemplate x:Key="rowDetailTemplate">
        <dx:GroupFrame Height="200" x:Name="panel" Margin="0,12,0,0">
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition Width="*" />
                </Grid.ColumnDefinitions>
                <dxdb:ImageControl Source="{Binding Path=Photo, Converter={StaticResource ImageDataConverter}}" HorizontalAlignment="Left" VerticalAlignment="Top" Grid.Column="0" />
                <Grid Grid.Column="1" Margin="16,0,0,0">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="Auto" />
                        <ColumnDefinition Width="6" />
                        <ColumnDefinition />
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto" />
                        <RowDefinition Height="4" />
                        <RowDefinition Height="Auto" />
                        <RowDefinition Height="4" />
                        <RowDefinition Height="Auto" />
                        <RowDefinition Height="4" />
                        <RowDefinition Height="Auto" />
                        <RowDefinition Height="4" />
                        <RowDefinition Height="*" />
                    </Grid.RowDefinitions>
                    <TextBlock Grid.Column="0" Grid.Row="0" Text="Name:" />
                    <TextBlock Grid.Column="0" Grid.Row="2" Text="Position:" />
                    <TextBlock Grid.Column="0" Grid.Row="4" Text="Hire Date:" />
                    <TextBlock Grid.Column="0" Grid.Row="6" Text="About:" />
                    <TextBlock Grid.Column="0" Grid.Row="8" Text="Address:" />
                    <TextBlock Grid.Column="2" Grid.Row="0" Text="{Binding FirstName}" />
                    <TextBlock Grid.Column="2" Grid.Row="2" Text="{Binding Title}" />
                    <TextBlock Grid.Column="2" Grid.Row="4" Text="{Binding HireDate, Converter={StaticResource FormatStringConverter}}" />
                    <TextBlock Grid.Column="2" Grid.Row="6" Text="{Binding Notes}" TextWrapping="Wrap" />
                    <TextBlock Grid.Column="2" Grid.Row="8" Text="{Binding Address}" />
                </Grid>
            </Grid>
        </dx:GroupFrame>
    </DataTemplate>
</ResourceDictionary>!�	using DevExpress.XtraEditors.DXErrorProvider;

namespace GridDemo {
    public class Person : object, IDXDataErrorInfo {
        public Person(string firstName, string lastName, string address, string phoneNumber, string email) {
            this.FirstName = firstName;
            this.LastName = lastName;
            this.Address = address;
            this.PhoneNumber = phoneNumber;
            this.Email = email;
        }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string Address { get; set; }
        public string PhoneNumber { get; set; }
        public string Email { get; set; }
        #region IDXDataErrorInfo Members
        void IDXDataErrorInfo.GetPropertyError(string propertyName, ErrorInfo info) {
            switch(propertyName) {
                case "FirstName":
                case "LastName":
                    if(IsStringEmpty(propertyName == "FirstName" ? FirstName : LastName)) {
                        SetErrorInfo(info, propertyName + " field can't be empty", ErrorType.Critical);
                    }
                    break;
                case "Address":
                    if(IsStringEmpty(Address)) {
                        SetErrorInfo(info, "Address hasn't been entered", ErrorType.Information);
                    }
                    break;
                case "Email":
                    if(IsStringEmpty(Email)) {
                        SetErrorInfo(info, "Email hasn't been entered", ErrorType.Information);
                    } else if(Email != "none" && !IsEmailCorrect(Email)) {
                        SetErrorInfo(info, "Wrong email address", ErrorType.Warning);
                    }
                    break;
            }
        }
        void IDXDataErrorInfo.GetError(ErrorInfo info) {
            if(IsStringEmpty(PhoneNumber) && (Email == "none" || !IsEmailCorrect(Email)))
                SetErrorInfo(info, "Either Phone Number or Email should be specified", ErrorType.Information);
        }
        #endregion
        bool IsStringEmpty(string str) {
            return str == null || str.Trim().Length == 0;
        }
        bool IsEmailCorrect(string email) {
            return email == null || (email.IndexOf("@") >= 1 && email.Length > email.IndexOf("@") + 1);
        }
        void SetErrorInfo(ErrorInfo info, string errorText, ErrorType errorType) {
            info.ErrorText = errorText;
            info.ErrorType = errorType;
        }
    }
}!h<ResourceDictionary 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:local="clr-namespace:GridDemo">

    <local:MultiSelectModeConverter x:Key="multiSelectConverter" />
    <dx:EnumToObjectConverter x:Key="countToEnabledConverter" DefaultValue="True">
        <dx:EnumToObjectConverter.Values>
            <dx:EnumObjectProvider x:Key="0" Value="False" />
        </dx:EnumToObjectConverter.Values>
    </dx:EnumToObjectConverter>

    <DataTemplate x:Key="recycleBinItemTemplate">
        <StackPanel Orientation="Horizontal">
            <TextBlock Text="{Binding Path=OID}" />
            <TextBlock Margin="4,0,0,0" Text="{Binding Path=Subject}" />
        </StackPanel>
    </DataTemplate>
</ResourceDictionary>!�using System;
using System.Collections.ObjectModel;
using System.Linq;
using System.Windows.Input;
using DevExpress.Xpf.Core.Commands;

namespace GridDemo {
    public class DragDropViewModel {
        public ICommand ClearRecycleBin { get; private set; }
        public DragDropViewModel() {
            DataSource = new ObservableCollection<OutlookData>(OutlookDataGenerator.CreateOutlookArrayList(200).Cast<OutlookData>());
            RecycleBinSource = new ObservableCollection<OutlookData>(OutlookDataGenerator.CreateOutlookArrayList(5).Cast<OutlookData>());
            ClearRecycleBin = new DelegateCommand<Object>(OnClearRecycleBin);
        }
        public ObservableCollection<OutlookData> DataSource { get; private set; }
        public ObservableCollection<OutlookData> RecycleBinSource { get; private set; }
        void OnClearRecycleBin(object parameter) {
            RecycleBinSource.Clear();
        }
    }
}!�<ResourceDictionary 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:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:local="clr-namespace:GridDemo">

    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="/GridDemo;component/ModuleResources/SharedResources.SL.xaml" />
    </ResourceDictionary.MergedDictionaries>

    <Style TargetType="dxg:DetailHeaderControl">
        <Setter Property="FontWeight" Value="Normal" />
    </Style>
    <DataTemplate x:Key="invoicesTemplate">
        <dxg:GridControl ItemsSource="{Binding Invoices}" AutoGenerateColumns="KeepOld" MaxHeight="200">
            <dxg:GridControl.Columns>
                <dxg:GridColumn FieldName="ProductName" />
                <dxg:GridColumn FieldName="UnitPrice" />
                <dxg:GridColumn FieldName="Quantity" />
                <dxg:GridColumn FieldName="Discount" />
            </dxg:GridControl.Columns>
            <dxg:GridControl.View>
                <dxg:TableView VerticalScrollbarVisibility="Auto" AutoWidth="True" NavigationStyle="Row" ShowGroupPanel="False" />
            </dxg:GridControl.View>
        </dxg:GridControl>
    </DataTemplate>
    <DataTemplate x:Key="ordersTemplate">
        <dxg:GridControl ItemsSource="{Binding Orders}" MaxHeight="200">
            <dxg:GridControl.DetailDescriptor>
                <dxg:ContentDetailDescriptor ShowHeader="False" ContentTemplate="{StaticResource invoicesTemplate}" />
            </dxg:GridControl.DetailDescriptor>
            <dxg:GridControl.Columns>
                <dxg:GridColumn FieldName="OrderDate" />
                <dxg:GridColumn FieldName="Freight" />
                <dxg:GridColumn FieldName="ShipName" />
                <dxg:GridColumn FieldName="ShipCountry" />
                <dxg:GridColumn FieldName="ShipCity" />
                <dxg:GridColumn FieldName="ShipAddress" />
            </dxg:GridControl.Columns>
            <dxg:GridControl.View>
                <dxg:TableView VerticalScrollbarVisibility="Auto" AutoWidth="True" NavigationStyle="Row" DetailHeaderContent="Info" ShowGroupPanel="False" />
            </dxg:GridControl.View>
        </dxg:GridControl>
    </DataTemplate>
    <DataTemplate x:Key="headerTemplate">
        <dx:MeasurePixelSnapper Margin="5,5,10,10">
            <Grid DataContext="{Binding MasterRowData.Row, RelativeSource={RelativeSource TemplatedParent}}">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition Width="12" />
                    <ColumnDefinition Width="*" />
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                    <RowDefinition />
                    <RowDefinition />
                </Grid.RowDefinitions>
                <dxe:ImageEdit MaxWidth="150" HorizontalAlignment="Left" VerticalAlignment="Top" Source="{Binding Path=Photo, Converter={StaticResource ImageDataConverter}}" Width="80" ShowMenu="False" />
                <Grid Grid.Column="2">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="Auto" />
                        <ColumnDefinition Width="12" />
                        <ColumnDefinition />
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition />
                        <RowDefinition />
                        <RowDefinition />
                        <RowDefinition />
                        <RowDefinition />
                    </Grid.RowDefinitions>
                    <TextBlock Grid.Column="0" Grid.Row="0" Text="Name:" />
                    <TextBlock Grid.Column="0" Grid.Row="1" Text="Position:" />
                    <TextBlock Grid.Column="0" Grid.Row="2" Text="Hire Date:" />
                    <TextBlock Grid.Column="0" Grid.Row="3" Text="About:" />
                    <TextBlock Grid.Column="0" Grid.Row="4" Text="Address:" />
                    <TextBlock Grid.Column="2" Grid.Row="0" Text="{Binding FirstName}" />
                    <TextBlock Grid.Column="2" Grid.Row="1" Text="{Binding Title}" />
                    <TextBlock Grid.Column="2" Grid.Row="2" Text="{Binding HireDate}" />
                    <TextBlock Grid.Column="2" Grid.Row="3" HorizontalAlignment="Left" Text="{Binding Notes}" TextWrapping="Wrap" />
                    <TextBlock Grid.Column="2" Grid.Row="4" Text="{Binding Address}" />
                </Grid>
            </Grid>
        </dx:MeasurePixelSnapper>
    </DataTemplate>
    <DataTemplate x:Key="contentTemplate">
        <dx:MeasurePixelSnapper Margin="5,5,10,10">
            <dx:DXTabControl Margin="0" SelectedIndex="{Binding Path=MasterRowData.RowState.(local:EmbeddedTableView.SelectedTabIndex), Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}">
                <dx:DXTabItem Header="Orders">
                    <dxg:GridControl ItemsSource="{Binding Orders}" MaxHeight="200">
                        <dxg:GridControl.DetailDescriptor>
                            <dxg:ContentDetailDescriptor ShowHeader="False" ContentTemplate="{StaticResource invoicesTemplate}" />
                        </dxg:GridControl.DetailDescriptor>
                        <dxg:GridControl.Columns>
                            <dxg:GridColumn FieldName="OrderDate" />
                            <dxg:GridColumn FieldName="Freight" />
                            <dxg:GridColumn FieldName="ShipName" />
                            <dxg:GridColumn FieldName="ShipCountry" />
                            <dxg:GridColumn FieldName="ShipCity" />
                            <dxg:GridColumn FieldName="ShipAddress" />
                        </dxg:GridControl.Columns>
                        <dxg:GridControl.View>
                            <dxg:TableView VerticalScrollbarVisibility="Auto" AutoWidth="True" NavigationStyle="Row" DetailHeaderContent="Info" ShowGroupPanel="False" />
                        </dxg:GridControl.View>
                    </dxg:GridControl>
                </dx:DXTabItem>
                <dx:DXTabItem Header="Customers">
                    <dxg:GridControl AutoGenerateColumns="KeepOld" ItemsSource="{Binding Customers}" MaxHeight="200">
                        <dxg:GridControl.DetailDescriptor>
                            <dxg:ContentDetailDescriptor ShowHeader="False" ContentTemplate="{StaticResource ordersTemplate}" />
                        </dxg:GridControl.DetailDescriptor>
                        <dxg:GridControl.Columns>
                            <dxg:GridColumn FieldName="ContactName" />
                            <dxg:GridColumn FieldName="Country" />
                            <dxg:GridColumn FieldName="City" />
                            <dxg:GridColumn FieldName="Address" />
                            <dxg:GridColumn FieldName="Phone" />
                        </dxg:GridControl.Columns>
                        <dxg:GridControl.GroupSummary>
                            <dxg:GridSummaryItem FieldName="Orders.Count" SummaryType="Sum" />
                        </dxg:GridControl.GroupSummary>
                        <dxg:GridControl.View>
                            <dxg:TableView VerticalScrollbarVisibility="Auto" AutoWidth="True" NavigationStyle="Row" ShowGroupPanel="False" AllowPerPixelScrolling="True" />
                        </dxg:GridControl.View>
                    </dxg:GridControl>
                </dx:DXTabItem>
            </dx:DXTabControl>
        </dx:MeasurePixelSnapper>
    </DataTemplate>
</ResourceDictionary>!�using System.Windows;
using System.Windows.Controls;

namespace GridDemo {
    public class DXExpanderDecorator : ContentControl {
        public static readonly DependencyProperty IsItemVisibleProperty = DependencyProperty.Register("IsItemVisible", typeof(bool), typeof(DXExpanderDecorator),
            new PropertyMetadata(true, new PropertyChangedCallback(OnIsItemVisibleChanged)));
        static void OnIsItemVisibleChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) {
            ((DXExpanderDecorator)d).OnIsItemVisibleChangedCore();
        }
        public bool IsItemVisible {
            get { return (bool)GetValue(IsItemVisibleProperty); }
            set { SetValue(IsItemVisibleProperty, value); }
        }
        void OnIsItemVisibleChangedCore() {
            VisualStateManager.GoToState(this, IsItemVisible ? "VisibleInGroup" : "HiddenInGroup", false);
        }
    }
}!�<ResourceDictionary 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:dxgh="clr-namespace:DevExpress.Xpf.Grid.Hierarchy;assembly=DevExpress.Xpf.Grid.v13.1.Core" xmlns:local="clr-namespace:GridDemo">


    <Storyboard x:Key="collapseStoryborad">
        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="AnimationProgress">
            <DiscreteDoubleKeyFrame Value="0" KeyTime="0" />
        </DoubleAnimationUsingKeyFrames>
    </Storyboard>
    <ControlTemplate x:Key="blindsTemplate" TargetType="ContentControl">
        <local:DXExpanderDecorator IsItemVisible="{Binding Path=(dxgh:HierarchyPanel.IsItemVisible)}" Content="{TemplateBinding Content}">
            <local:DXExpanderDecorator.Template>
                <ControlTemplate TargetType="ContentControl">
                    <ContentPresenter Name="contentPresenter" dx:DXExpander.TracksRevealing="True">
                        <ContentPresenter.RenderTransform>
                            <ScaleTransform />
                        </ContentPresenter.RenderTransform>
                        <VisualStateManager.VisualStateGroups>
                            <VisualStateGroup x:Name="IsRevealedState">
                                <VisualState x:Name="VisibleInGroup">
                                    <Storyboard>
                                        <DoubleAnimation Storyboard.TargetName="contentPresenter" Storyboard.TargetProperty="(FrameworkElement.RenderTransform).(ScaleTransform.ScaleY)" BeginTime="0:0:0" From="0" To="1" Duration="0:0:.2">
                                        </DoubleAnimation>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="HiddenInGroup">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetName="contentPresenter" Storyboard.TargetProperty="(FrameworkElement.RenderTransform).(ScaleTransform.ScaleY)">
                                            <DiscreteDoubleKeyFrame Value="0" KeyTime="0" />
                                        </DoubleAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                        </VisualStateManager.VisualStateGroups>
                    </ContentPresenter>
                </ControlTemplate>
            </local:DXExpanderDecorator.Template>
        </local:DXExpanderDecorator>
    </ControlTemplate>
    <ControlTemplate x:Key="fadeInTemplate" TargetType="ContentControl">
        <local:DXExpanderDecorator IsItemVisible="{Binding Path=(dxgh:HierarchyPanel.IsItemVisible)}" Content="{TemplateBinding Content}">
            <local:DXExpanderDecorator.Template>
                <ControlTemplate TargetType="ContentControl">
                    <ContentPresenter Name="contentPresenter">
                        <VisualStateManager.VisualStateGroups>
                            <VisualStateGroup x:Name="IsRevealedState">
                                <VisualState x:Name="VisibleInGroup">
                                    <Storyboard>
                                        <DoubleAnimation Storyboard.TargetName="contentPresenter" Storyboard.TargetProperty="Opacity" BeginTime="0:0:0" From="0" To="1" Duration="0:0:1.5">
                                        </DoubleAnimation>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="HiddenInGroup">
                                    <Storyboard>
                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetName="contentPresenter" Storyboard.TargetProperty="Opacity">
                                            <DiscreteDoubleKeyFrame Value="0" KeyTime="0" />
                                        </DoubleAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                        </VisualStateManager.VisualStateGroups>
                    </ContentPresenter>
                </ControlTemplate>
            </local:DXExpanderDecorator.Template>
        </local:DXExpanderDecorator>
    </ControlTemplate>
</ResourceDictionary>!{using System;
using System.Windows.Data;
using DevExpress.Data.Filtering;

namespace GridDemo {
    public class DoubleToCriteriaOperatorConverter : IValueConverter {
        #region IValueConverter Members
        object IValueConverter.Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            BinaryOperator op = value as BinaryOperator;
            if(object.ReferenceEquals(op, null))
                return 0d;
            OperandValue operandValue = op.RightOperand as OperandValue;
            return operandValue.Value;
        }
        object IValueConverter.ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            return new BinaryOperator("Quantity", Math.Round((double)value), BinaryOperatorType.Greater);
        }
        #endregion
    }
}!<ResourceDictionary 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:local="clr-namespace:GridDemo">

    <local:DoubleToCriteriaOperatorConverter x:Key="DoubleToCriteriaOperatorConverter" />
    <dx:DefaultBooleanToNullableBooleanConverter x:Key="DefaultBooleanToNullableBooleanConverter" />

    <DataTemplate x:Key="quantityColumnFilterPopupTemplate">
        <dx:BackgroundPanel>
            <dxdb:SliderControl EditValue="{Binding Path=CustomColumnFilter, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource DoubleToCriteriaOperatorConverter}, Mode=TwoWay}" Margin="11" Header="Minimum Quantity" Minimum="0" Maximum="100" Width="200" SmallStep="1" ValueMinWidth="17" />
        </dx:BackgroundPanel>
    </DataTemplate>
</ResourceDictionary>!^<ResourceDictionary 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:local="clr-namespace:GridDemo" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity">

    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="/GridDemo;component/Themes/generic.SL.xaml" />
    </ResourceDictionary.MergedDictionaries>

    <local:RoundValueConverter x:Key="RoundValueConverter" />
    <DataTemplate x:Key="columnOptionsTemplate">
        <StackPanel x:Name="options" dx:DXDockPanel.Dock="Right" Orientation="Horizontal" dx:DragManager.IsStartDragPlace="false">
            <dxg:OptionsToggleButton x:Name="showOptionsButton" Width="15" Height="15" Margin="0" ToolTipService.ToolTip="Choose the column's fixed style" />
            <dx:PopupBase x:Name="optionsPopup" IsOpen="{Binding ElementName=showOptionsButton, Path=IsChecked, Mode=TwoWay}" PlacementTarget="{Binding ElementName=showOptionsButton}" Placement="Bottom" StaysOpen="False">

                            <dx:PopupBase.DataContext>
                                <Binding Path="Content" RelativeSource="{RelativeSource TemplatedParent}" />
                            </dx:PopupBase.DataContext>


                <dx:MouseEventsEndPoint>
                    <dx:PopupBorderControl>
                        <dx:GroupFrame Margin="11" Header="Fixed Style">
                            <dxe:ListBoxEdit Margin="0,0,41,0" ShowBorder="False" SelectedItem="{Binding Path=Column.Fixed, Mode=TwoWay}" Background="{x:Null}">
                                <dxe:ListBoxEdit.StyleSettings>
                                    <dxe:RadioListBoxEditStyleSettings />
                                </dxe:ListBoxEdit.StyleSettings>
                                <dxe:ListBoxEdit.Items>
                                    <dxg:FixedStyle>None</dxg:FixedStyle>
                                    <dxg:FixedStyle>Left</dxg:FixedStyle>
                                    <dxg:FixedStyle>Right</dxg:FixedStyle>
                                </dxe:ListBoxEdit.Items>
                                <i:Interaction.Behaviors>
                                    <local:RoutedEventCommandHelper RoutedEvent="{local:EditValueChangedEvent}" Command="{Binding View.DataContext.ClosePopupCommand}" />
                                </i:Interaction.Behaviors>
                            </dxe:ListBoxEdit>
                        </dx:GroupFrame>
                    </dx:PopupBorderControl>
                </dx:MouseEventsEndPoint>
            </dx:PopupBase>
        </StackPanel>

    </DataTemplate>
</ResourceDictionary>!j
using System;
using System.Collections.Generic;
using DevExpress.Xpf.DemoBase.NWind;
using NWindData = DevExpress.Xpf.DemoBase.NWindData;

namespace GridDemo {
    #region GroupIntervalData

    public class GroupIntervalData {
        public static Random rnd = new Random();
        public object Invoices { get { return CreateInvoicesDataTable(); } }
        public object Products { get { return CreateProductsDataTable(); } }
        static DateTime GetDate(bool range) {
            DateTime ret = DateTime.Now;
            int r = rnd.Next(20);
            if(range) {
                if(r > 1) ret = ret.AddDays(rnd.Next(80) - 40);
                if(r > 18) ret = ret.AddMonths(rnd.Next(18));
            } else {
                ret = ret.AddDays(rnd.Next(r * 30) - r * 15);
            }
            return ret;
        }
        static decimal GetCount() {
            return rnd.Next(50) + 10;
        }
        static object CreateInvoicesDataTable() {
            List<object> list = new List<object>();
            foreach(Invoices invoice in NWindData.Invoices) {
                Invoice row = new Invoice();
                row.Country = invoice.Country;
                row.City = invoice.City;
                row.OrderDate = GetDate(true);
                row.UnitPrice = (decimal)invoice.UnitPrice;
                row.Region = invoice.Region;
                list.Add(row);
            }
            return list;
        }
        static object CreateProductsDataTable() {
            List<Product> list = new List<Product>();
            foreach(Products product in NWindData.Products) {
                Product row = new Product();
                row.ProductName = product.ProductName;
                row.UnitPrice = product.UnitPrice;
                row.Count = GetCount();
                row.OrderSum = row.UnitPrice * row.Count;
                row.OrderDate = GetDate(false);
                list.Add(row);
            }
            return list;
        }
    }

    public class Invoice {
        public string Country { get; set; }
        public string City { get; set; }
        public DateTime OrderDate { get; set; }
        public decimal UnitPrice { get; set; }
        public string Region { get; set; }
    }
    public sealed class Product {
        public string ProductName { get; set; }
        public decimal Count { get; set; }
        public DateTime OrderDate { get; set; }
        public decimal UnitPrice { get; set; }
        public decimal OrderSum { get; set; }
        public string QuantityPerUnit { get; set; }

    }

    #endregion
}!Ousing System.Collections;
using DevExpress.Xpf.DemoBase.Helpers;

namespace GridDemo {
    public class GroupSummariesAlignmentViewModel : DemoViewModelBase {
        public IList SalesByYearReport { get; private set; }
        public IList SalesByMonthReport { get; private set; }
        public string[] ReportTypes { get { return new string[] { "by Year", "by Month" }; } }
        IList actualSalesReport;
        public IList ActualSalesReport {
            get { return actualSalesReport; }
            set { ChangeProperty<IList>(ref actualSalesReport, value, "ActualSalesReport"); }
        }
        int reportTypeIndex;
        public int ReportTypeIndex {
            get { return reportTypeIndex; }
            set {
                ChangeProperty<int>(ref reportTypeIndex, value, "ReportTypeIndex");
                UpdateActualSalesReport();
            }
        }
        bool allowCascadeUpdate;
        public bool AllowCascadeUpdate {
            get { return allowCascadeUpdate; }
            set {
                ChangeProperty<bool>(ref allowCascadeUpdate, value, "AllowCascadeUpdate");
            }
        }
        public GroupSummariesAlignmentViewModel() {
            SalesByYearReport = SalesByYearData.GetSalesByYearData(false);
            SalesByMonthReport = SalesByYearData.GetSalesByYearData(true);
            UpdateActualSalesReport();
            allowCascadeUpdate = true;
        }
        void UpdateActualSalesReport() {
            ActualSalesReport = ReportTypeIndex == 0 ? SalesByYearReport : SalesByMonthReport;
        }
    }
}!Tusing System;
using System.Windows;
using System.Windows.Controls;
using DevExpress.Xpf.Grid;

namespace GridDemo {
    public class ConditionalGroupSummaryItemTemplateSelector : DataTemplateSelector {
        readonly DataTemplate smallValueTemplate;
        readonly DataTemplate largeValueTemplate;
        public ConditionalGroupSummaryItemTemplateSelector(DataTemplate smallValueTemplate, DataTemplate largeValueTemplate) {
            this.smallValueTemplate = smallValueTemplate;
            this.largeValueTemplate = largeValueTemplate;
        }
        public override DataTemplate SelectTemplate(object item, DependencyObject container) {
            GridGroupSummaryData data = (GridGroupSummaryData)item;
            if(data.SummaryItem.SummaryType == DevExpress.Data.SummaryItemType.Sum) {
                double value = Convert.ToDouble(data.Value);
                if(value < 5000)
                    return smallValueTemplate;
                if(value >= 10000)
                    return largeValueTemplate;
            }
            return null;
        }
    }
}!j<ResourceDictionary 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:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:local="clr-namespace:GridDemo">

    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="/GridDemo;component/Themes/generic.SL.xaml" />
    </ResourceDictionary.MergedDictionaries>

    <local:DemoDataProvider x:Key="DemoDataProvider" />
    <dx:FormatStringConverter x:Key="FormatStringConverter" FormatString="0.##" />
    <dx:BoolToVisibilityInverseConverter x:Key="BoolToVisibilityInverseConverter" />
    <dx:BoolToObjectConverter x:Key="BoolToGroupSummaryDisplayModeConverter" TrueValue="AlignByColumns" FalseValue="Default" />

    <DataTemplate x:Key="customTemplateWithSummaryCustomization">
        <StackPanel Orientation="Horizontal" VerticalAlignment="Center" Margin="0,0,10,0">

            <dxe:ComboBoxEdit Style="{StaticResource GroupSummaryComboBoxEdit}" ItemsSource="{Binding SummaryItemTypes, Source={StaticResource DemoDataProvider}}" EditValue="{Binding Path=SummaryItem.SummaryType, Mode=TwoWay}" ToolTipService.ToolTip="Select summary type" />
            <TextBlock VerticalAlignment="Center" Text="(" />
            <dxe:ComboBoxEdit Style="{StaticResource GroupSummaryComboBoxEdit}" ItemsSource="{Binding SummaryFieldNames, Source={StaticResource DemoDataProvider}}" EditValue="{Binding Path=SummaryItem.FieldName, Mode=TwoWay}" ToolTipService.ToolTip="Select summary column" />
            <TextBlock VerticalAlignment="Center" Text=")=" />
            <TextBlock VerticalAlignment="Center" Text="{Binding SummaryValue, Converter={StaticResource FormatStringConverter}}" />

        </StackPanel>
    </DataTemplate>
    <DataTemplate x:Key="customTemplate">
        <StackPanel Orientation="Horizontal" VerticalAlignment="Center" Margin="0,0,10,0">
            <TextBlock VerticalAlignment="Center" Text="{Binding SummaryItem.SummaryType}" />
            <TextBlock VerticalAlignment="Center" Text="(" />
            <TextBlock VerticalAlignment="Center" Text="{Binding Column.HeaderCaption}" />
            <TextBlock VerticalAlignment="Center" Text=")=" />
            <TextBlock VerticalAlignment="Center" Text="{Binding SummaryValue, Converter={StaticResource FormatStringConverter}}" />
        </StackPanel>
    </DataTemplate>
    <DataTemplate x:Key="smallValueTemplate">
        <ContentControl Content="{Binding}" ContentTemplate="{Binding View.DefaultGroupSummaryItemTemplate}" Foreground="#FF238F06" />
    </DataTemplate>
    <DataTemplate x:Key="largeValueTemplate">
        <ContentControl Content="{Binding}" ContentTemplate="{Binding View.DefaultGroupSummaryItemTemplate}" Foreground="#FFBB4646" />
    </DataTemplate>
</ResourceDictionary>!9
using DevExpress.Xpf.DemoBase.Helpers;

namespace GridDemo {
    public class GroupSummaryViewModel : DemoViewModelBase {
        GridSummaryList defaultDisplayModeSummaries;
        public GridSummaryList DefaultDisplayModeSummaries {
            get { return defaultDisplayModeSummaries; }
            set {
                ChangeProperty<GridSummaryList>(ref defaultDisplayModeSummaries, value, "DefaultDisplayModeSummaries");
                UpdateSummarySource();
            }
        }
        GridSummaryList alignByColumnsDisplayModeSummaries;
        public GridSummaryList AlignByColumnsDisplayModeSummaries {
            get { return alignByColumnsDisplayModeSummaries; }
            set {
                ChangeProperty<GridSummaryList>(ref alignByColumnsDisplayModeSummaries, value, "AlignByColumnsDisplayModeSummaries");
                UpdateSummarySource();
            }
        }
        bool alignSummariesByColumns;
        public bool AlignSummariesByColumns {
            get { return alignSummariesByColumns; }
            set {
                ChangeProperty<bool>(ref alignSummariesByColumns, value, "AlignSummariesByColumns");
                UpdateSummarySource();
                UpdateCityColumn();
            }
        }
        bool allowCascadeUpdate;
        public bool AllowCascadeUpdate {
            get { return allowCascadeUpdate; }
            set {
                ChangeProperty<bool>(ref allowCascadeUpdate, value, "AllowCascadeUpdate");
            }
        }
        GridSummaryList summarySource;
        public GridSummaryList SummarySource {
            get { return summarySource; }
            set { ChangeProperty<GridSummaryList>(ref summarySource, value, "SummarySource"); }
        }
        int cityColumnVisibleIndex;
        public int CityColumnVisibleIndex {
            get { return cityColumnVisibleIndex; }
            set { ChangeProperty<int>(ref cityColumnVisibleIndex, value, "CityColumnVisibleIndex"); }
        }
        int cityColumnGroupIndex;
        public int CityColumnGroupIndex {
            get { return cityColumnGroupIndex; }
            set { ChangeProperty<int>(ref cityColumnGroupIndex, value, "CityColumnGroupIndex"); }
        }
        void UpdateSummarySource() {
            SummarySource = AlignSummariesByColumns ? AlignByColumnsDisplayModeSummaries : DefaultDisplayModeSummaries;
        }
        void UpdateCityColumn() {
            if(AlignSummariesByColumns)
                CityColumnVisibleIndex = 0;
            CityColumnGroupIndex = 0;
        }
    }
}!using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using DevExpress.Xpf.Grid;
using DevExpress.Xpf.DemoBase;
using System.Collections.ObjectModel;
using System.Collections.Generic;
using DevExpress.Xpf.DemoBase.NWind;

namespace GridDemo {
    public class DemoTableViewHitTestVisitor : TableViewHitTestVisitorBase {
        readonly HitTest hitTest;
        public DemoTableViewHitTestVisitor(HitTest hitTest) {
            this.hitTest = hitTest;
        }
        public override void VisitRowIndicator(int rowHandle, IndicatorState indicatorState) {
            hitTest.AddHitInfo("RowIndicatorState", indicatorState.ToString());
            StopHitTesting();
        }
        public override void VisitTotalSummary(ColumnBase column) {
            hitTest.AddTotalSummaryInfo(column);
        }
        public override void VisitFixedTotalSummary(GridTotalSummaryData summaryData) {
            hitTest.AddFixedTotalSummaryInfo(summaryData);
        }
        public override void VisitGroupValue(int rowHandle, GridColumnData columnData) {
            hitTest.AddGroupValueInfo(columnData);
        }
        public override void VisitGroupSummary(int rowHandle, GridGroupSummaryData summaryData) {
            hitTest.AddGroupSummaryInfo(summaryData);
        }
    }
    public class HitTestInfo : DependencyObject {
        public string Name { get; private set; }
        public string Text { get; private set; }
        public HitTestInfo(string name, string text) {
            this.Name = name;
            this.Text = text;
        }
    }
    public class SLNWindDataLoader : NWindDataLoader {
        object invoicesNew = new ObservableCollection<Invoices>((IEnumerable<Invoices>)new NWindDataLoader().InvoicesNew);
        public new object InvoicesNew { get { return invoicesNew; } }
    }
}!�<ResourceDictionary 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:local="clr-namespace:GridDemo">

    <dx:BooleanToVisibilityConverter x:Key="booleanToVisibilityConverter" />
    <dxg:TableView x:Key="tableView" ShowFixedTotalSummary="True" IsTotalSummaryMenuEnabled="False" ShowGroupedColumns="True" AutoWidth="False" ShowAutoFilterRow="True" NewItemRowPosition="Top" AllowDrop="True" />

    <DataTemplate x:Key="hitInfoTemplate">
        <local:NameTextControl NameValue="{Binding Name}" TextValue="{Binding Text}" />
    </DataTemplate>
</ResourceDictionary>!�using System.Diagnostics;
using System.Windows.Documents;
using System.Windows.Interactivity;
using System.Windows.Navigation;

namespace GridDemo {
    public class HyperLinkAttachedBehavior : Behavior<Hyperlink> {
    }
}!�<ResourceDictionary 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:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:local="clr-namespace:GridDemo">

    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="/GridDemo;component/Themes/generic.SL.xaml" />
    </ResourceDictionary.MergedDictionaries>

    <local:IntToDoubleConverter x:Key="IntToDoubleConverter" />
    <ControlTemplate x:Key="alternativeHoursActiveDisplayTemplate">
        <Border Background="Transparent">
            <ProgressBar Margin="1" Template="{StaticResource InplaceProgressBarTemplate}" Minimum="0" Maximum="1000" Value="{Binding EditValue, Converter={StaticResource IntToDoubleConverter}, RelativeSource={RelativeSource TemplatedParent}}" />
        </Border>
    </ControlTemplate>
    <ControlTemplate x:Key="alternativeHoursActiveEditTemplate">
        <Grid VerticalAlignment="Center">
            <Slider x:Name="PART_Editor" Minimum="-100" Maximum="1000" SmallChange="10" LargeChange="50" Value="{Binding Path=(dxe:BaseEdit.OwnerEdit).EditValue, Mode=TwoWay, Converter={StaticResource IntToDoubleConverter}, RelativeSource={RelativeSource Self}}">
                <Slider.IsEnabled>
                    <Binding Path="(dxe:BaseEdit.OwnerEdit).IsReadOnly" RelativeSource="{RelativeSource Self}">
                        <Binding.Converter>
                            <dx:NegationConverterExtension />
                        </Binding.Converter>
                    </Binding>
                </Slider.IsEnabled>

            </Slider>
            <Border Padding="5,0,5,0" BorderBrush="#1F000000" BorderThickness="1" CornerRadius="2" Background="#AFFFFFFF" IsHitTestVisible="False" HorizontalAlignment="Center" VerticalAlignment="Center">
                <TextBlock Text="{Binding Path=Value, ElementName=PART_Editor}" Foreground="Black" VerticalAlignment="Center" HorizontalAlignment="Center" TextWrapping="NoWrap" />
            </Border>
        </Grid>
    </ControlTemplate>
    <DataTemplate x:Key="clipTemplate">
        <Grid Width="7" Height="15" ToolTipService.ToolTip="{Binding}" Background="Transparent">
            <Path Stretch="Fill" Fill="#FF000000" Data="F1 M 1222.51,786C 1220.9,786.008 1219.72,785.446 1219,784.57C 1218.27,783.699 1218.01,782.58 1218.01,781.501L 1218,771.999L 1219,771.999L 1219.01,781.501C 1219.07,783.357 1219.78,784.96 1222.51,785.001C 1225.24,784.96 1225.95,783.357 1226.01,781.501L 1226,770.502C 1225.93,768.68 1225.32,768.077 1223.5,768C 1221.68,768.077 1221.07,768.68 1221,770.502L 1221,775.502C 1221,775.996 1221.01,776.692 1221.21,777.189C 1221.44,777.682 1221.68,777.976 1222.5,778.001C 1223.32,777.976 1223.56,777.682 1223.79,777.189C 1223.99,776.692 1224,775.996 1224,775.502L 1224,773.126C 1224,772.25 1224,771.999 1224,771.999L 1225,771.999C 1225,771.999 1225,774.5 1225,775.502C 1225,776.005 1225.01,776.81 1224.71,777.562C 1224.44,778.32 1223.68,779.026 1222.5,779C 1221.32,779.026 1220.56,778.32 1220.29,777.562C 1219.99,776.81 1220,776.005 1220,775.502C 1220,774.5 1220,772.502 1220,770.502C 1220,769.424 1220.27,768.521 1220.9,767.897C 1221.52,767.275 1222.42,766.999 1223.5,767.001C 1224.58,766.999 1225.48,767.275 1226.1,767.897C 1226.73,768.521 1227,769.424 1227,770.502L 1227.01,781.501C 1227.01,782.58 1226.74,783.699 1226.02,784.57C 1225.3,785.439 1224.13,786 1222.54,786L 1222.51,786 Z" />
        </Grid>
    </DataTemplate>
    <dx:DefaultBooleanToNullableBooleanConverter x:Key="DefaultBooleanToNullableBooleanConverter" />
</ResourceDictionary>!�using System;
using System.Windows.Data;
using DevExpress.Xpf.Grid;
using System.Data;

namespace GridDemo {
    public class CustomerDetailsConverter : IValueConverter {
        #region IValueConverter Members

        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            RowData rowData = (RowData)value;
            if(rowData == null)
                return null;
            DevExpress.Xpf.DemoBase.NWind.Customers customers = (DevExpress.Xpf.DemoBase.NWind.Customers)rowData.Row;
            return String.Format("{0}, {1}, {2}\r\n{3}, {4}", customers.Country, customers.City, customers.PostalCode, customers.Address, customers.Phone);
        }
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            throw new NotImplementedException();
        }
        #endregion
    }
}!�<ResourceDictionary 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:local="clr-namespace:GridDemo">

    <dx:ImageDataConverter x:Key="ImageDataConverter" />
    <local:CustomerDetailsConverter x:Key="CustomerDetailsConverter" />
    <DataTemplate x:Key="employeeDetailTemplate">
        <dx:MeasurePixelSnapper>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition Width="12" />
                    <ColumnDefinition />
                </Grid.ColumnDefinitions>
                <dxe:ImageEdit MaxWidth="80" HorizontalAlignment="Left" VerticalAlignment="Top" Source="{Binding Path=Row.Photo, Converter={StaticResource ImageDataConverter}}" Grid.Column="0" Width="{Binding Path=CellData[0].Column.ActualDataWidth}" ShowMenu="False" />
                <Grid Grid.Column="2" MaxWidth="400">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="8" />
                        <ColumnDefinition />
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto" />
                        <RowDefinition />
                    </Grid.RowDefinitions>
                    <StackPanel Orientation="Horizontal" Grid.Column="1" Grid.Row="0">
                        <TextBlock Text="{Binding Row.FirstName}" FontWeight="Bold" />
                        <TextBlock Text="" />
                        <TextBlock Text="{Binding Row.LastName}" FontWeight="Bold" />
                    </StackPanel>
                    <TextBlock Grid.Column="1" Grid.Row="1" HorizontalAlignment="Left" Text="{Binding Row.Notes}" TextWrapping="Wrap" />
                </Grid>
            </Grid>
        </dx:MeasurePixelSnapper>
    </DataTemplate>
    <DataTemplate x:Key="employeeGridRowTemplate">
        <ContentControl Content="{Binding}" ContentTemplate="{StaticResource employeeDetailTemplate}" />
    </DataTemplate>
    <ControlTemplate x:Key="employeeGridTemplate">
        <dxg:GridControl x:Name="PART_GridControl">
            <dxg:GridControl.Columns>
                <dxg:GridColumn FieldName="FirstName" />
                <dxg:GridColumn FieldName="LastName" />
            </dxg:GridControl.Columns>
            <dxg:GridControl.View>
                <dxg:TableView Name="view" AutoWidth="False" ShowColumnHeaders="False" DataRowTemplate="{StaticResource employeeGridRowTemplate}" />
            </dxg:GridControl.View>
        </dxg:GridControl>
    </ControlTemplate>
    <DataTemplate x:Key="customerDetailTemplate">
        <dx:MeasurePixelSnapper>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="12" />
                    <ColumnDefinition />
                </Grid.ColumnDefinitions>
                <TextBlock Grid.Column="1" Text="{Binding Converter={StaticResource CustomerDetailsConverter}}" TextWrapping="Wrap" />
            </Grid>
        </dx:MeasurePixelSnapper>
    </DataTemplate>
    <DataTemplate x:Key="customerGridRowTemplate">
        <StackPanel Orientation="Vertical">
            <dx:MeasurePixelSnapper>
                <ContentPresenter x:Name="defaultRowPresenter" Content="{Binding}" ContentTemplate="{Binding View.DefaultDataRowTemplate}" />
            </dx:MeasurePixelSnapper>
            <dxg:RowDetailContainerControl Content="{Binding}" ContentTemplate="{StaticResource customerDetailTemplate}">
                <dxg:RowDetailContainerControl.Template>
                    <ControlTemplate TargetType="ContentControl">
                        <Border BorderThickness="0,1,0,0" BorderBrush="{TemplateBinding BorderBrush}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="{TemplateBinding Background}">
                            <ContentPresenter />
                        </Border>
                    </ControlTemplate>
                </dxg:RowDetailContainerControl.Template>
            </dxg:RowDetailContainerControl>
        </StackPanel>
    </DataTemplate>
    <ControlTemplate x:Key="customerGridTemplate">
        <dxg:GridControl x:Name="PART_GridControl">

            <dxg:GridControl.Columns>
                <dxg:GridColumn FieldName="CompanyName" Header="Company Name" MinWidth="170" />
                <dxg:GridColumn FieldName="ContactName" Header="Contact Name" MinWidth="150" />
                <dxg:GridColumn FieldName="ContactTitle" Header="Contact Title" MinWidth="150" />
            </dxg:GridControl.Columns>
            <dxg:GridControl.View>
                <dxg:TableView Name="view" AutoWidth="False" DataRowTemplate="{StaticResource customerGridRowTemplate}" />
            </dxg:GridControl.View>
        </dxg:GridControl>
    </ControlTemplate>
    <DataTemplate x:Key="headerTemplate">
        <TextBlock Text="{Binding}" FontWeight="Bold" />
    </DataTemplate>
</ResourceDictionary>!�$using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Collections;
using DevExpress.Data.Browsing;
using System.Collections.Generic;
using System.ComponentModel;
using PropertyDescriptor = DevExpress.Data.Browsing.PropertyDescriptor;

namespace GridDemo {
    public class CountInfo {
        public int Value { get; set; }
        public string Description { get; set; }
    }
    public class VirtualPropertyDescriptor : PropertyDescriptor {
        string propertyName;
        Type propertyType;
        bool isReadOnly;
        VirtualList list;
        int index;
        public VirtualPropertyDescriptor(VirtualList list, int index, string propertyName, Type propertyType, bool isReadOnly)
            : base(propertyName, null) {
            this.propertyName = propertyName;
            this.propertyType = propertyType;
            this.isReadOnly = isReadOnly;
            this.list = list;
            this.index = index;
        }
        public override bool CanResetValue(object component) {
            return false;
        }
        public override object GetValue(object component) {
            return list.GetPropertyValue((int)component, index);
        }
        public override void SetValue(object component, object val) {
            list.SetPropertyValue((int)component, index, val);
        }
        public override bool IsReadOnly { get { return isReadOnly; } }
        public override string Name { get { return propertyName; } }
        public override Type ComponentType { get { return typeof(VirtualList); } }
        public override Type PropertyType { get { return propertyType; } }
        public override void ResetValue(object component) {
        }
        public override bool ShouldSerializeValue(object component) { return true; }
    }
    public struct Location {
        public int Row { get; set; }
        public int Column { get; set; }
        public override bool Equals(object obj) {
            Location l = (Location)obj;
            return l.Row == Row && l.Column == Column;
        }
        public override int GetHashCode() {
            return Row ^ Column;
        }
    }
    public class VirtualList : IList, ITypedList {
        const int BaseColumnCount = 7;
        int recordCount;
        int columnCount;
        Dictionary<Location, object> fValues = new Dictionary<Location, object>();
        PropertyDescriptorCollection columnCollection;
        public VirtualList() {
            recordCount = 1000;
            columnCount = 1000;
            CreateColumnCollection();
        }
        public void SetPropertyValue(int rowIndex, int columnIndex, object value) {
            fValues[new Location() { Column = columnIndex, Row = rowIndex }] = value;
        }
        public object GetPropertyValue(int rowIndex, int columnIndex) {
            object value = null;
            if(fValues.TryGetValue(new Location() { Column = columnIndex, Row = rowIndex }, out value)) {
                return value;
            }
            if(columnIndex == 0)
                return rowIndex + 1;
            switch((columnIndex - 1) % BaseColumnCount) {
                case 0: //From
                    return OutlookData.Users[GetPseudoRandomValue(rowIndex, columnIndex, OutlookData.Users.Length)].Name;
                case 1: //To
                    return OutlookData.Users[GetPseudoRandomValue(rowIndex, columnIndex, OutlookData.Users.Length)].Name;
                case 2: //Sent
                    return DateTime.Today.AddDays(GetPseudoRandomValue(rowIndex, columnIndex, 30));
                case 3: //HasAttachment
                    return GetPseudoRandomValue(rowIndex, columnIndex, 2) == 0 ? true : false;
                case 4: //Size
                    return GetPseudoRandomValue(rowIndex, columnIndex, 10000);
                case 5: //Priority
                    return (Priority)GetPseudoRandomValue(rowIndex, columnIndex, DevExpress.Data.Mask.EnumHelper.GetValues(typeof(Priority)).Length);
                case 6: //Subject
                    return OutlookDataGenerator.Subjects[GetPseudoRandomValue(rowIndex, columnIndex, OutlookDataGenerator.Subjects.Length)];
            }
            throw new NotImplementedException();
        }
        public string GetPropertyName(int columnIndex) {
            if(columnIndex == 0)
                return "ID(1)";
            switch((columnIndex - 1) % BaseColumnCount) {
                case 0: //From
                    return GetFullPropertyName("From", columnIndex);
                case 1: //To
                    return GetFullPropertyName("To", columnIndex);
                case 2: //Sent
                    return GetFullPropertyName("Sent", columnIndex);
                case 3: //HasAttachment
                    return GetFullPropertyName("HasAttachment", columnIndex);
                case 4: //Size
                    return GetFullPropertyName("Size", columnIndex);
                case 5: //Priority
                    return GetFullPropertyName("Priority", columnIndex);
                case 6: //Subject
                    return GetFullPropertyName("Subject", columnIndex);
            }
            throw new NotImplementedException();
        }
        string GetFullPropertyName(string name, int columnIndex) {
            return name + "(" + (columnIndex + 1) + ")";
        }
        public Type GetPropertyType(int columnIndex) {
            if(columnIndex == 0)
                return typeof(int);
            switch((columnIndex - 1) % BaseColumnCount) {
                case 0: //From
                    return typeof(string);
                case 1: //To
                    return typeof(string);
                case 2: //Sent
                    return typeof(DateTime);
                case 3: //HasAttachment
                    return typeof(bool);
                case 4: //Size
                    return typeof(int);
                case 5: //Priority
                    return typeof(Priority);
                case 6: //Subject
                    return typeof(string);
            }
            throw new NotImplementedException();
        }
        int GetPseudoRandomValue(int rowIndex, int columnIndex, int maxValue) {
            return (rowIndex + columnIndex) % maxValue;
        }
        public int RecordCount {
            get { return recordCount; }
            set {
                if(value < 1) value = 0;
                if(RecordCount == value) return;
                recordCount = value;
            }
        }
        public int ColumnCount {
            get { return columnCount; }
            set {
                if(value < 1) value = 0;
                if(ColumnCount == value) return;
                columnCount = value;
                CreateColumnCollection();
            }
        }
        protected virtual void CreateColumnCollection() {
            VirtualPropertyDescriptor[] pds = new VirtualPropertyDescriptor[ColumnCount];
            for(int n = 0; n < ColumnCount; n++) {
                pds[n] = new VirtualPropertyDescriptor(this, n, GetPropertyName(n), GetPropertyType(n), false);
            }
            columnCollection = new PropertyDescriptorCollection(pds);
        }

        #region ITypedList Interface
        PropertyDescriptorCollection ITypedList.GetItemProperties(PropertyDescriptor[] descs) { return columnCollection; }
        string ITypedList.GetListName(PropertyDescriptor[] descs) { return ""; }
        #endregion
        #region IList Interface
        public virtual int Count {
            get { return RecordCount; }
        }
        public virtual bool IsSynchronized {
            get { return true; }
        }
        public virtual object SyncRoot {
            get { return true; }
        }
        public virtual bool IsReadOnly {
            get { return false; }
        }
        public virtual bool IsFixedSize {
            get { return true; }
        }
        public virtual IEnumerator GetEnumerator() {
            return null;
        }
        public virtual void CopyTo(System.Array array, int fIndex) {
        }
        public virtual int Add(object val) {
            throw new NotImplementedException();
        }
        public virtual void Clear() {
            throw new NotImplementedException();
        }
        public virtual bool Contains(object val) {
            throw new NotImplementedException();
        }
        public virtual int IndexOf(object val) {
            throw new NotImplementedException();
        }
        public virtual void Insert(int fIndex, object val) {
            throw new NotImplementedException();
        }
        public virtual void Remove(object val) {
            throw new NotImplementedException();
        }
        public virtual void RemoveAt(int fIndex) {
            throw new NotImplementedException();
        }
        object IList.this[int fIndex] {
            get { return fIndex; }
            set { }
        }
        #endregion
    }
}!o7using System;
using System.Windows;
using System.Windows.Media;
using System.Windows.Media.Animation;
using DevExpress.Xpf.Utils;
using System.Windows.Threading;
using System.Collections.Generic;
using System.ComponentModel;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
using System.Collections;
using FrameworkContentElement = System.Windows.FrameworkElement;
using DependencyPropertyChangedEventArgs = DevExpress.Xpf.Core.WPFCompatibility.SLDependencyPropertyChangedEventArgs;
using PropertyMetadata = DevExpress.Xpf.Core.WPFCompatibility.SLPropertyMetadata;
using DevExpress.Xpf.Core.WPFCompatibility;

namespace GridDemo {
    public class ProcessInfoAnimationElement : FrameworkContentElement {
        public static readonly DependencyProperty CpuUsageProperty;
        public static readonly DependencyProperty MemoryUsageColorProperty;
        public static readonly DependencyProperty RevealProgressProperty;
        static ProcessInfoAnimationElement() {
            CpuUsageProperty = DependencyPropertyManager.Register("CpuUsage", typeof(double), typeof(ProcessInfoAnimationElement), new PropertyMetadata(0d));
            MemoryUsageColorProperty = DependencyPropertyManager.Register("MemoryUsageColor", typeof(Color), typeof(ProcessInfoAnimationElement), new PropertyMetadata(Color.FromArgb(0xFF, 0x92, 0x96, 0x9C)));
            RevealProgressProperty = DependencyPropertyManager.Register("RevealProgress", typeof(double), typeof(ProcessInfoAnimationElement), new PropertyMetadata(1d));
        }
        public double CpuUsage {
            get { return (double)GetValue(CpuUsageProperty); }
            set { SetValue(CpuUsageProperty, value); }
        }
        public Color MemoryUsageColor {
            get { return (Color)GetValue(MemoryUsageColorProperty); }
            set { SetValue(MemoryUsageColorProperty, value); }
        }
        public double RevealProgress {
            get { return (double)GetValue(RevealProgressProperty); }
            set { SetValue(RevealProgressProperty, value); }
        }
    }
    public class ProcessInfo : INotifyPropertyChanged {
        int pid;
        string name;
        int memoryUsage, cpuUsage;
        bool isNew;
        public ProcessInfo(int pid, string name, int memoryUsage, int cpuUsage, bool isNew) {
            this.pid = pid;
            this.name = name;
            this.memoryUsage = memoryUsage;
            this.cpuUsage = cpuUsage;
            this.isNew = isNew;
        }
        internal bool IsDeleting { get; set; }
        public int PID {
            get { return pid; }
            set {
                if(PID == value) return;
                pid = value;
                OnChanged("PID");
            }
        }
        public string Name {
            get { return name; }
            set {
                if(Name == value) return;
                name = value;
                OnChanged("Name");
            }
        }
        public int MemoryUsage {
            get { return memoryUsage; }
            set {
                if(MemoryUsage == value) return;
                memoryUsage = value;
                OnChanged("MemoryUsage");
            }
        }
        public int CpuUsage {
            get { return cpuUsage; }
            set {
                if(CpuUsage == value) return;
                cpuUsage = value;
                OnChanged("CpuUsage");
            }
        }
        protected void OnChanged(string propertyName) {
            if(PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }
        [Browsable(false)]
        public ProcessGenerator Owner { get; set; }

        public event PropertyChangedEventHandler PropertyChanged;
    }
    public class ProcessInfoList : ObservableCollection<ProcessInfo> {
    }
    public class ProcessGenerator : DependencyObject {
        public enum ProcessUpdateMode { AddRemoveUpdate, AddRemove, Update }
        enum UpdateType { Add, Remove, Change }

        const double DefaultUpdateInterval = 200d;
        const double DefaultUpdateDuration = 600d;
        const int DefaultProcessMaxCount = 25, DefaultProcessMinCount = 10;
        readonly string[] ProcessNames = new string[] {"wininit.exe", "svchost.exe", "svchost.exe", "svchost.exe", "svchost.exe", "System", "devenv.exe",
                                                           "intetinfo.exe", "lsm.exe", "lsass.exe", "winlogon.exe", "services.exe"};

        public static readonly DependencyProperty UpdateIntervalProperty, ProcessMaxCountProperty, ProcessMinCountProperty, UpdateModeProperty,UpdateHistoryIntervalProperty;
        static ProcessGenerator() {
            UpdateIntervalProperty = DependencyPropertyManager.Register("UpdateInterval", typeof(double), typeof(ProcessGenerator), new FrameworkPropertyMetadata(DefaultUpdateInterval, OnUpdateIntervalChanged));
            ProcessMaxCountProperty = DependencyPropertyManager.Register("ProcessMaxCount", typeof(int), typeof(ProcessGenerator), new FrameworkPropertyMetadata(DefaultProcessMaxCount));
            ProcessMinCountProperty = DependencyPropertyManager.Register("ProcessMinCount", typeof(int), typeof(ProcessGenerator), new FrameworkPropertyMetadata(DefaultProcessMinCount));
            UpdateModeProperty = DependencyPropertyManager.Register("UpdateMode", typeof(ProcessUpdateMode), typeof(ProcessGenerator), new FrameworkPropertyMetadata(ProcessUpdateMode.AddRemoveUpdate));
        }
        static void OnUpdateIntervalChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) {
            ProcessGenerator generator = d as ProcessGenerator;
            generator.UpdateTimer.Interval = TimeSpan.FromMilliseconds((double)e.NewValue);
        }
        ProcessInfoList processes;
        DispatcherTimer updateTimer;
        int realProcessCount;
        LiveData module;
        Random random = new Random();
        Dictionary<int, ProcessInfoAnimationElement> animationElements = new Dictionary<int, ProcessInfoAnimationElement>();
        public ProcessGenerator(LiveData module) {
            this.processes = new ProcessInfoList();
            this.updateTimer = new DispatcherTimer();
            this.updateTimer.Interval = TimeSpan.FromMilliseconds(DefaultUpdateInterval);
            this.updateTimer.Tick += OnTimerTick;
            this.module = module;
        }
        public ProcessInfoList Processes { get { return processes; } }
        protected internal DispatcherTimer UpdateTimer { get { return updateTimer; } }
        delegate void UpdateDelegate();
        void OnTimerTick(object sender, EventArgs e) {
            Dispatcher.BeginInvoke(new Action(UpdateProcessList)
);
        }
        protected void UpdateProcessList() {
            PerformRandomUpdate();
        }
        UpdateType GetUpdateType() {
            if(CanAddRemove) {
                if(CanUpdate) return (UpdateType)random.Next(3);
                return (UpdateType)random.Next(2);
            }
            return UpdateType.Change;
        }
        bool CanAddRemove { get { return UpdateMode == ProcessUpdateMode.AddRemoveUpdate || UpdateMode == ProcessUpdateMode.AddRemove; } }
        bool CanUpdate { get { return UpdateMode == ProcessUpdateMode.AddRemoveUpdate || UpdateMode == ProcessUpdateMode.Update; } }

        class ProcessToRemove {
            public ProcessInfo ProcToRemove { get; set; }
            public ProcessGenerator ProcGenerator { get; set; }

            public void OnStoryboardCompleted(object sender, EventArgs e) {
                ProcGenerator.RemoveProcess(ProcToRemove);
            }
        }
        protected void PerformRandomUpdate() {
            TimeSpan duration = TimeSpan.FromMilliseconds(600);
            ProcessInfo info;
            switch(GetUpdateType()) {
                case UpdateType.Add:
                    info = AddProcess(true);
                    if(info != null && module.newRowCheckBox.IsChecked.Value) {
                        Storyboard storyboard = GetStoryboard("newRowStoryboard");
                        BeginStoryboard(storyboard, info, ProcessInfoAnimationElement.RevealProgressProperty);
                    }
                    break;
                case UpdateType.Remove:
                    if(realProcessCount > 0 && realProcessCount > ProcessMinCount) {
                        info = GetRandomProcess();
                        realProcessCount--;
                        if(module.deleteRowCheckBox.IsChecked.Value) {
                            info.IsDeleting = true;
                            Storyboard storyboard = GetStoryboard("deleteRowStoryboard");
                            ProcessToRemove procToRemove = new ProcessToRemove() { ProcToRemove = info, ProcGenerator = this };
                            storyboard.Completed += new EventHandler(procToRemove.OnStoryboardCompleted);
                            BeginStoryboard(storyboard, info, ProcessInfoAnimationElement.RevealProgressProperty);
                        } else {
                            RemoveProcess(info);
                        }
                    }
                    break;
                case UpdateType.Change:
                    if(realProcessCount > 0) {
                        ModifyMemoryUsage();
                        ModifyCpuUsage();
                    }
                    break;
            }
        }
        void RemoveProcess(ProcessInfo info) {
            Processes.Remove(info);
            animationElements.Remove(info.PID);
        }
        Storyboard GetStoryboard(string resourceKey) {
            return StoryboardContainer.CreateStoryboard(module, resourceKey);
        }
        void BeginStoryboard(Storyboard storyboard, ProcessInfo info, DependencyProperty property) {
            Storyboard.SetTargetProperty(storyboard, new PropertyPath(property.GetName()));
            Storyboard.SetTarget(storyboard, GetAnimationElement(info));
            storyboard.Begin();
        }
        void ModifyMemoryUsage() {
            ProcessInfo info = GetRandomProcess();
            double oldMemoryUsageValue = info.MemoryUsage;
            info.MemoryUsage = random.Next(10000);

            if(module.memoryUsageCheckBox.IsChecked.Value) {
                Storyboard storyboard = GetStoryboard(oldMemoryUsageValue < info.MemoryUsage ? "memoryUsageIncreasedColorStoryboard" : "memoryUsageDecreasedColorStoryboard");
                BeginStoryboard(storyboard, info, ProcessInfoAnimationElement.MemoryUsageColorProperty);
            }
        }
        void ModifyCpuUsage() {
            ProcessInfo info = GetRandomProcess();
            info.CpuUsage = random.Next(60);
            Storyboard storyboard;
            if(module.cpuUsageCheckBox.IsChecked.Value) {
                storyboard = GetStoryboard("cpuUsageChangeStoryboard");
                DoubleAnimationUsingKeyFrames animation = (DoubleAnimationUsingKeyFrames)storyboard.Children[0];
                animation.KeyFrames[0].Value = GetAnimationElement(info).CpuUsage;
                animation.KeyFrames[1].Value = info.CpuUsage;
            } else {
                storyboard = new Storyboard();
                storyboard.Children.Add(new DoubleAnimation() { Duration = TimeSpan.Zero, To = info.CpuUsage });
            }
            BeginStoryboard(storyboard, info, ProcessInfoAnimationElement.CpuUsageProperty);
        }
        ProcessInfo GetRandomProcess() {
            while(true) {
                ProcessInfo info = Processes[random.Next(Processes.Count)];
                if(!info.IsDeleting)
                    return info;
            }
        }
        int counter;
        ProcessInfo AddProcess(bool isNew) {
            ProcessInfo info = null;
            if(realProcessCount < ProcessMaxCount) {
                string name = ProcessNames[random.Next(ProcessNames.Length)];
                info = new ProcessInfo(++counter, name, random.Next(10000), random.Next(100), isNew);
                GetAnimationElement(info).CpuUsage = info.CpuUsage;
                Processes.Insert(random.Next(Processes.Count), info);
                realProcessCount++;
            }
            return info;
        }
        public void Initialize() {
            this.counter = 0;
            Processes.Clear();
            realProcessCount = 0;
            for(int i = 0; i < ProcessMaxCount; i++)
                AddProcess(false);
        }
        public void Start() {
            UpdateTimer.Start();
        }
        public void Stop() {
            UpdateTimer.Stop();
        }
        public ProcessInfoAnimationElement GetAnimationElement(ProcessInfo info) {
            ProcessInfoAnimationElement result = null;
            if(!animationElements.TryGetValue(info.PID, out result)) {
                result = new ProcessInfoAnimationElement();
                animationElements.Add(info.PID, result);
            }
            return result;
        }
        public double UpdateInterval {
            get { return (double)GetValue(UpdateIntervalProperty); }
            set { SetValue(UpdateIntervalProperty, value); }
        }
        public double UpdateHistoryInterval {
            get { return (double)GetValue(UpdateHistoryIntervalProperty); }
            set { SetValue(UpdateHistoryIntervalProperty, value); }
        }
        public int ProcessMaxCount {
            get { return (int)GetValue(ProcessMaxCountProperty); }
            set { SetValue(ProcessMaxCountProperty, value); }
        }
        public int ProcessMinCount {
            get { return (int)GetValue(ProcessMinCountProperty); }
            set { SetValue(ProcessMinCountProperty, value); }
        }
        public ProcessUpdateMode UpdateMode {
            get { return (ProcessUpdateMode)GetValue(UpdateModeProperty); }
            set { SetValue(UpdateModeProperty, value); }
        }
    }
}!�<ResourceDictionary 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:local="clr-namespace:GridDemo">

    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="/GridDemo;component/Themes/generic.SL.xaml" />
    </ResourceDictionary.MergedDictionaries>

    <ControlTemplate x:Key="newRowStoryboard">
        <local:StoryboardContainer>
            <Storyboard>
                <DoubleAnimationUsingKeyFrames>
                    <SplineDoubleKeyFrame KeyTime="0:0:0" Value="0" />
                    <SplineDoubleKeyFrame KeyTime="0:0:1" Value="1" KeySpline="0,0,0,1" />
                </DoubleAnimationUsingKeyFrames>
            </Storyboard>
        </local:StoryboardContainer>
    </ControlTemplate>
    <ControlTemplate x:Key="deleteRowStoryboard">
        <local:StoryboardContainer>
            <Storyboard>
                <DoubleAnimationUsingKeyFrames>
                    <SplineDoubleKeyFrame KeyTime="0:0:0" Value="1" />
                    <SplineDoubleKeyFrame KeyTime="0:0:1" Value="0" KeySpline="0,0,1,0.25" />
                </DoubleAnimationUsingKeyFrames>
            </Storyboard>
        </local:StoryboardContainer>
    </ControlTemplate>
    <ControlTemplate x:Key="memoryUsageIncreasedColorStoryboard">
        <local:StoryboardContainer>
            <Storyboard>
                <ColorAnimationUsingKeyFrames BeginTime="00:00:00">
                    <SplineColorKeyFrame KeyTime="00:00:00" Value="#FF92969C" />
                    <SplineColorKeyFrame KeyTime="00:00:00.25" Value="#FFB83152" KeySpline="0,0,0.799,0.109" />
                    <SplineColorKeyFrame KeySpline="0.414,0.899,1,1" KeyTime="00:00:02" Value="#FF92969C" />
                </ColorAnimationUsingKeyFrames>
            </Storyboard>
        </local:StoryboardContainer>
    </ControlTemplate>
    <ControlTemplate x:Key="memoryUsageDecreasedColorStoryboard">
        <local:StoryboardContainer>
            <Storyboard>
                <ColorAnimationUsingKeyFrames BeginTime="00:00:00">
                    <SplineColorKeyFrame KeyTime="00:00:00" Value="#FF92969C" />
                    <SplineColorKeyFrame KeyTime="00:00:00.25" Value="#FF669331" KeySpline="0,0,0.799,0.109" />
                    <SplineColorKeyFrame KeySpline="0.414,0.899,1,1" KeyTime="00:00:02" Value="#FF92969C" />
                </ColorAnimationUsingKeyFrames>
            </Storyboard>
        </local:StoryboardContainer>
    </ControlTemplate>
    <ControlTemplate x:Key="cpuUsageChangeStoryboard">
        <local:StoryboardContainer>
            <Storyboard>
                <DoubleAnimationUsingKeyFrames BeginTime="00:00:00">
                    <SplineDoubleKeyFrame KeyTime="00:00:00" />
                    <SplineDoubleKeyFrame KeySpline="0.414,0.899,1,1" KeyTime="00:00:01" />
                </DoubleAnimationUsingKeyFrames>
            </Storyboard>
        </local:StoryboardContainer>
    </ControlTemplate>
    <dxg:RowPropertyValueConverter x:Key="RowPropertyValueConverter" />
    <DataTemplate x:Key="rowTemplate">
        <Border Name="border">
            <Border.Background>
                <SolidColorBrush Color="Transparent" />
            </Border.Background>
            <dx:DXExpander Name="reveal" Tag="{Binding Path=DataContext, Converter={StaticResource RowPropertyValueConverter}, ConverterParameter=AnimationElement}" AnimationProgress="{Binding Path=Tag.RevealProgress, RelativeSource={RelativeSource Self}}" HorizontalExpand="None" VerticalExpand="FromBottomToTop">
                <ContentPresenter Name="content" Content="{Binding}" ContentTemplate="{Binding View.DefaultDataRowTemplate}" />
            </dx:DXExpander>
        </Border>
    </DataTemplate>
    <dx:FormatStringConverter x:Key="memoryUsageConverter" FormatString="0 K" />
    <DataTemplate x:Key="progressTemplate">
        <ProgressBar Margin="2,1,2,1" Minimum="0" Maximum="100" DataContext="{Binding Path=Data, Converter={StaticResource RowPropertyValueConverter}, ConverterParameter=AnimationElement}" Value="{Binding Path=CpuUsage}" Template="{StaticResource InplaceProgressBarTemplate}" />
    </DataTemplate>
    <DataTemplate x:Key="memUsageTemplate">
        <Border DataContext="{Binding Path=Data, Converter={StaticResource RowPropertyValueConverter}, ConverterParameter=AnimationElement}" CornerRadius="3,3,3,3" x:Name="progress6" Margin="2,1,2,1" HorizontalAlignment="Center">
            <Border.Background>
                <SolidColorBrush Color="{Binding Path=MemoryUsageColor}" />
            </Border.Background>
            <TextBlock Width="Auto" FontSize="14" Text="{Binding DataContext.Value, Converter={StaticResource memoryUsageConverter}, RelativeSource={RelativeSource TemplatedParent}}" TextAlignment="Center" HorizontalAlignment="Center" Margin="10,0,10,0" VerticalAlignment="Center" Height="Auto" Foreground="#FFFFFFFF" />
        </Border>
    </DataTemplate>

</ResourceDictionary>!�<ResourceDictionary 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase">

    <dxdb:NWindDataLoader x:Key="NWindDataLoader" />
    <dx:FormatStringConverter x:Key="FormatStringConverter" FormatString="D" />
    <dxe:BytesToImageSourceConverter x:Key="imageConverter" />

    <ControlTemplate x:Key="displayTemplate">
        <Image x:Name="PART_Editor" Margin="1" Width="24" Source="{Binding Path=SelectedItem.Icon_25, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource imageConverter}}" />
    </ControlTemplate>
    <DataTemplate x:Key="FilterHeaderContentTemplate">
        <ContentPresenter Content="{Binding}" />
    </DataTemplate>
    <ControlTemplate x:Key="gridTemplate">
        <dxg:GridControl x:Name="PART_GridControl">
            <dxg:GridControl.Columns>
                <dxg:GridColumn FieldName="CategoryID" Header="Category" HeaderToolTip="Category" MinWidth="36" Width="36" AllowResizing="False" Fixed="None" DisplayTemplate="{StaticResource displayTemplate}" AutoFilterRowDisplayTemplate="{StaticResource displayTemplate}" AutoFilterRowEditTemplate="{StaticResource displayTemplate}" FilterEditorHeaderTemplate="{StaticResource FilterHeaderContentTemplate}">
                    <dxg:GridColumn.HeaderTemplate>
                        <DataTemplate>
                            <TextBlock Text="" />
                        </DataTemplate>
                    </dxg:GridColumn.HeaderTemplate>
                    <dxg:GridColumn.EditSettings>
                        <dxe:ComboBoxEditSettings IsTextEditable="False" ValueMember="CategoryID" DisplayMember="CategoryName" ItemsSource="{Binding Path=Categories, Source={StaticResource NWindDataLoader}}">
                        </dxe:ComboBoxEditSettings>
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn FieldName="ProductName" Header="Product" Width="150" />
                <dxg:GridColumn FieldName="QuantityPerUnit" Header="Quantity" />
                <dxg:GridColumn FieldName="UnitPrice" Header="Unit Price" AutoFilterCondition="Equals">
                    <dxg:GridColumn.EditSettings>
                        <dxe:TextEditSettings Mask="c" MaskType="Numeric" MaskCulture="en-US" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn FieldName="Discontinued" />
            </dxg:GridControl.Columns>
            <dxg:GridControl.View>
                <dxg:TableView Name="view" ShowAutoFilterRow="True" ShowGroupedColumns="True" AutoWidth="False" />
            </dxg:GridControl.View>
        </dxg:GridControl>
    </ControlTemplate>
    <ControlTemplate x:Key="addNewRecordTemplate">
        <StackPanel Margin="8" MinWidth="200">
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition />
                    <ColumnDefinition />
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                    <RowDefinition />
                    <RowDefinition />
                    <RowDefinition />
                    <RowDefinition />
                    <RowDefinition />
                    <RowDefinition />
                </Grid.RowDefinitions>
                <TextBlock Text="Category:" VerticalAlignment="Center" Grid.Row="0" Grid.Column="0" Margin="0,0,6,4" />
                <dxe:ComboBoxEdit x:Name="cbPnvCategory" Grid.Row="0" Grid.Column="1" Margin="0,0,0,4" IsTextEditable="False" ValueMember="CategoryID" DisplayMember="CategoryName" ItemsSource="{Binding Path=Categories, Source={StaticResource NWindDataLoader}}" ApplyItemTemplateToSelectedItem="True">
                    <dxe:ComboBoxEdit.EditValue>
                        <Binding Path="CategoryID" Mode="TwoWay">

                        </Binding>
                    </dxe:ComboBoxEdit.EditValue>
                    <dxe:ComboBoxEdit.ItemTemplate>
                        <DataTemplate>
                            <StackPanel Orientation="Horizontal">
                                <Image Width="30" Source="{Binding Path=Picture, Converter={StaticResource imageConverter}}" />
                                <TextBlock Margin="4,0,0,0" Text="{Binding Path=CategoryName}" />
                            </StackPanel>
                        </DataTemplate>
                    </dxe:ComboBoxEdit.ItemTemplate>
                </dxe:ComboBoxEdit>

                <TextBlock Text="Product name:" VerticalAlignment="Center" Grid.Row="1" Grid.Column="0" Margin="0,0,6,4" />
                <dxe:TextEdit x:Name="txtProductName" Grid.Row="1" Grid.Column="1" EditValue="{Binding Path=ProductName, Mode=TwoWay}" Margin="0,0,0,4" IsReadOnly="True" />
                <TextBlock Text="Quantity per unit:" VerticalAlignment="Center" Grid.Row="2" Grid.Column="0" Margin="0,0,6,4" />
                <dxe:TextEdit x:Name="txtQuantityPerUnit" Grid.Row="2" Grid.Column="1" EditValue="{Binding Path=QuantityPerUnit, Mode=TwoWay}" Margin="0,0,0,4" />
                <TextBlock Text="Unit price:" VerticalAlignment="Center" Grid.Row="3" Grid.Column="0" Margin="0,0,6,4" />
                <dxe:SpinEdit x:Name="spUnitPrice" Grid.Row="3" Grid.Column="1" EditValue="{Binding Path=UnitPrice, Mode=TwoWay}" Margin="0,0,0,4" />
                <TextBlock Text="Discontinued:" VerticalAlignment="Center" Grid.Row="4" Grid.Column="0" Margin="0,0,6,4" />
                <dxe:CheckEdit x:Name="chDiscontinued" Grid.Row="4" Grid.Column="1" Margin="0,0,0,4" EditValue="{Binding Path=Discontinued, Mode=TwoWay}" />
            </Grid>
        </StackPanel>
    </ControlTemplate>
</ResourceDictionary>!�	using DevExpress.Xpf.DemoBase.Helpers;

namespace GridDemo {
    public class MasterDetailViewModel : DemoViewModelBase {

        public EmployeesWithDetails Employees { get; private set; }

        public MasterDetailViewModel() {
            Employees = new EmployeesWithDetails();
            ShowOrdersSummaries = true;
            ShowOrdersColumnHeaders = true;
            ShowCustomersColumnHeaders = true;
            ShowCustomersSummaries = true;
            ShowInvoicesColumnHeaders = true;
            ShowInvoicesSummaries = true;
            ShowDetailButtons = true;
        }
        bool showOrdersColumnHeadersCore;
        public bool ShowOrdersColumnHeaders {
            get { return showOrdersColumnHeadersCore; }
            set { ChangeProperty<bool>(ref showOrdersColumnHeadersCore, value, "ShowOrdersColumnHeaders"); }
        }
        bool showOrdersSummariesCore;
        public bool ShowOrdersSummaries {
            get { return showOrdersSummariesCore; }
            set { ChangeProperty<bool>(ref showOrdersSummariesCore, value, "ShowOrdersSummaries"); }
        }

        bool showCustomersColumnHeadersCore;
        public bool ShowCustomersColumnHeaders {
            get { return showCustomersColumnHeadersCore; }
            set { ChangeProperty<bool>(ref showCustomersColumnHeadersCore, value, "ShowCustomersColumnHeaders"); }
        }
        bool showCustomersSummariesCore;
        public bool ShowCustomersSummaries {
            get { return showCustomersSummariesCore; }
            set { ChangeProperty<bool>(ref showCustomersSummariesCore, value, "ShowCustomersSummaries"); }
        }

        bool showInvoicesColumnHeadersCore;
        public bool ShowInvoicesColumnHeaders {
            get { return showInvoicesColumnHeadersCore; }
            set { ChangeProperty<bool>(ref showInvoicesColumnHeadersCore, value, "ShowInvoicesColumnHeaders"); }
        }
        bool showInvoicesSummariesCore;
        public bool ShowInvoicesSummaries {
            get { return showInvoicesSummariesCore; }
            set { ChangeProperty<bool>(ref showInvoicesSummariesCore, value, "ShowInvoicesSummaries"); }
        }

        bool showDetailButtonsCore;
        public bool ShowDetailButtons {
            get { return showDetailButtonsCore; }
            set { ChangeProperty<bool>(ref showDetailButtonsCore, value, "ShowDetailButtons"); }
        }
    }
}!�
using System;
using System.Collections.Generic;
using System.ServiceModel.DomainServices.Client;
using System.Windows;
using DevExpress.Xpf.DemoBase.Helpers;
using DevExpress.Xpf.DemoBase.Web;
using DevExpress.Xpf.DemoBase.Web.Services;
using DevExpress.Xpf.Grid;

namespace GridDemo {
    public class MasterDetailWithRIAViewModel : DemoViewModelBase {
        NWindDomainContext domainContext;
        public MasterDetailWithRIAViewModel() {
            domainContext = new NWindDomainContext();

            OrdersLoadingConverter = new LazyLoadingConverter<NWindDomainContext, Customers, Orders>(domainContext,
                (dc, c) => { return dc.GetCustomerOrdersQuery(c.CustomerID); });
            OrderDetailsLoadingConverter = new LazyLoadingConverter<NWindDomainContext, Orders, Order_Details_Extended>(domainContext,
                (dc, o) => { return dc.GetOrderOrderDetailsExtendedQuery(o.OrderID); });
            domainContext.PropertyChanged += domainContext_PropertyChanged;

        }

        void domainContext_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) {
            if(e.PropertyName == "IsLoading")
                IsLoading = domainContext.IsLoading;
        }
        public IEnumerable<Customers> ItemsSource {
            get {
                IsLoading = true;
                LoadOperation<Customers> loadOperation = domainContext.Load<Customers>(domainContext.GetCustomersQuery(), new Action<LoadOperation<Customers>>(RaiseSourceLoaded), null);
                return loadOperation.Entities;
            }
        }

        void RaiseSourceLoaded(LoadOperation loadOperation) {
            if(!loadOperation.HasError) {
                if(SourceLoaded != null)
                    SourceLoaded(this, new EventArgs());
            } else {
                MessageBox.Show("Connection could not be established." + Environment.NewLine + loadOperation.Error.Message, "Connection Error", MessageBoxButton.OK);
                loadOperation.MarkErrorAsHandled();
            }
        }

        public event EventHandler SourceLoaded;

        public LazyLoadingConverter<NWindDomainContext, Customers, Orders> OrdersLoadingConverter { get; set; }

        public LazyLoadingConverter<NWindDomainContext, Orders, Order_Details_Extended> OrderDetailsLoadingConverter { get; set; }

        bool isLoadingCore;
        public bool IsLoading {
            get { return isLoadingCore; }
            set {
                if(isLoadingCore != value) {
                    isLoadingCore = value;
                    OnPropertyChanged("IsLoading");
                }
            }
        }
    }
}!�using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using DevExpress.Xpf.Grid;
using DevExpress.Xpf.DemoBase.DemosHelpers.Grid;
using DevExpress.Data.Browsing;
using System.ComponentModel;

namespace GridDemo {
    public class MultiEditorsTemplateSelector : DataTemplateSelector {
        public override DataTemplate SelectTemplate(object item, DependencyObject container) {
            GridCellData data = (GridCellData)item;
            GridControl grid = ((GridViewBase)data.View).Grid;
            string editorType = grid.GetCellValue(data.RowData.RowHandle.Value, "TemplateName") as string;
            return string.IsNullOrEmpty(editorType) ? null : (DataTemplate)grid.Resources[editorType];
        }
    }
    public class MultiEditorsList : MultiEditorsListBase {
        protected override void CreateColumnCollection() {
            MultiEditorsListPropertyDescriptor[] pds = new MultiEditorsListPropertyDescriptor[Table.Count + 3];
            pds[0] = new MultiEditorsListPropertyDescriptor(this, 0, "Field", true);
            for(int n = 1; n < Table.Count + 1; n++) {
                pds[n] = new MultiEditorsListPropertyDescriptor(this, n, "Product #" + n, false);
            }
            pds[Table.Count + 1] = new MultiEditorsListPropertyDescriptor(this, Table.Count + 1, "EditorType", true);
            pds[Table.Count + 2] = new MultiEditorsListPropertyDescriptor(this, Table.Count + 2, "TemplateName", true);
            ColumnCollection = new PropertyDescriptorCollection(pds);
        }
        public override object GetPropertyValue(int rowIndex, int columnIndex) {
            if(columnIndex == 0)
                return FieldDescriptions[rowIndex].ColumnName;
            if(columnIndex == Table.Count + 1)
                return FieldDescriptions[rowIndex].EditorDisplayName;
            if(columnIndex == Table.Count + 2)
                return FieldDescriptions[rowIndex].TemplateName;
            return Table[columnIndex - 1][FieldDescriptions[rowIndex].ColumnName];
        }
    }
}!4&<ResourceDictionary 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:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:local="clr-namespace:GridDemo" xmlns:sys="clr-namespace:System;assembly=mscorlib">

    <local:DemoDataProvider x:Key="DemoDataProvider" />
    <dxdb:NWindDataLoader x:Key="NWindDataLoader" />
    <dxe:BytesToImageSourceConverter x:Key="imageConverter" />
    <ControlTemplate x:Key="displayTemplate">
        <Image x:Name="PART_Editor" Margin="1" Source="{Binding Path=SelectedItem.Picture, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource imageConverter}}" />
    </ControlTemplate>
    <DataTemplate x:Key="FilterHeaderContentTemplate">
        <ContentPresenter Content="{Binding}" />
    </DataTemplate>
    <ControlTemplate x:Key="comboBoxItemTemplate">
        <StackPanel Orientation="Horizontal" Background="Transparent">
            <Image Height="17" Width="17" Source="{Binding Path=(dxe:BaseEdit.OwnerEdit).SelectedItem.Icon_17, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource imageConverter}}" />
            <TextBlock Margin="2" Text="{Binding Path=(dxe:BaseEdit.OwnerEdit).SelectedItem.CategoryName, RelativeSource={RelativeSource TemplatedParent}}" VerticalAlignment="Center" />
        </StackPanel>
    </ControlTemplate>
    <ControlTemplate x:Key="gridBeveragesTemplate">
        <dxg:GridControl x:Name="PART_GridControl">
            <dxg:GridControl.Columns>
                <dxg:GridColumn FieldName="CategoryID" Header="Category" HeaderToolTip="Category" MinWidth="36" Width="36" AllowResizing="False" Fixed="None" DisplayTemplate="{StaticResource displayTemplate}" AutoFilterRowDisplayTemplate="{StaticResource displayTemplate}" AutoFilterRowEditTemplate="{StaticResource displayTemplate}" FilterEditorHeaderTemplate="{StaticResource FilterHeaderContentTemplate}">
                    <dxg:GridColumn.HeaderTemplate>
                        <DataTemplate />
                    </dxg:GridColumn.HeaderTemplate>
                    <dxg:GridColumn.EditSettings>
                        <dxe:ComboBoxEditSettings IsTextEditable="False" ValueMember="CategoryID" DisplayMember="CategoryName" ItemsSource="{Binding Path=Categories, Source={StaticResource NWindDataLoader}}">
                            <dxe:ComboBoxEditSettings.ItemTemplate>
                                <DataTemplate>
                                    <StackPanel Orientation="Horizontal">
                                        <Image Width="30" Source="{Binding Path=Picture, Converter={StaticResource imageConverter}}" />
                                        <TextBlock Margin="2,0,0,0" Text="{Binding Path=CategoryName}" />
                                    </StackPanel>
                                </DataTemplate>
                            </dxe:ComboBoxEditSettings.ItemTemplate>
                            <dxe:ComboBoxEditSettings.EditNonEditableTemplate>
                                <ControlTemplate>
                                    <Image x:Name="PART_Editor" Width="30" HorizontalAlignment="Left" Margin="1" Source="{Binding Path=(dxe:BaseEdit.OwnerEdit).SelectedItem.Picture, Converter={StaticResource imageConverter}}" />
                                </ControlTemplate>
                            </dxe:ComboBoxEditSettings.EditNonEditableTemplate>
                        </dxe:ComboBoxEditSettings>
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn FieldName="CategoryName" />
                <dxg:GridColumn FieldName="Description" />
            </dxg:GridControl.Columns>
            <dxg:GridControl.View>
                <dxg:TableView Name="view" ShowAutoFilterRow="True" ShowGroupedColumns="True" AutoWidth="true" />
            </dxg:GridControl.View>
        </dxg:GridControl>
    </ControlTemplate>

    <DataTemplate x:Key="NumericTextEdit">
        <dxe:TextEdit Name="PART_Editor" HorizontalContentAlignment="Right" MaskType="Numeric" Mask="d" MaskUseAsDisplayFormat="True" />
    </DataTemplate>
    <DataTemplate x:Key="TextEdit">
        <dxe:TextEdit Name="PART_Editor" />
    </DataTemplate>
    <DataTemplate x:Key="AutoCompleteComboBoxEdit">
        <dxe:ComboBoxEdit Name="PART_Editor" ItemsSource="{Binding CountriesArray, Source={StaticResource DemoDataProvider}}" AutoComplete="True" IsTextEditable="True" ImmediatePopup="True" />
    </DataTemplate>
    <DataTemplate x:Key="LookUpEdit">
        <dxg:LookUpEdit Name="PART_Editor" ItemsSource="{Binding Categories, Source={StaticResource NWindDataLoader}}" ValueMember="CategoryID" DisplayMember="CategoryName" PopupContentTemplate="{StaticResource gridBeveragesTemplate}" AutoComplete="True" IncrementalFiltering="True" ImmediatePopup="True" AutoPopulateColumns="False" IsPopupAutoWidth="False" PopupWidth="300" />
    </DataTemplate>
    <DataTemplate x:Key="SearchLookUpEdit">
        <dxg:LookUpEdit Name="PART_Editor" ItemsSource="{Binding Categories, Source={StaticResource NWindDataLoader}}" ValueMember="CategoryID" PopupHeight="400" PopupWidth="500" DisplayTemplate="{StaticResource comboBoxItemTemplate}" EditNonEditableTemplate="{StaticResource comboBoxItemTemplate}" PopupContentTemplate="{StaticResource gridBeveragesTemplate}" AutoPopulateColumns="False" FilterCondition="Contains">
            <dxg:LookUpEdit.StyleSettings>
                <dxg:SearchLookUpEditStyleSettings />
            </dxg:LookUpEdit.StyleSettings>
        </dxg:LookUpEdit>
    </DataTemplate>
    <DataTemplate x:Key="ComboBoxEdit">
        <dxe:ComboBoxEdit Name="PART_Editor" ItemsSource="{Binding Categories, Source={StaticResource NWindDataLoader}}" ValueMember="CategoryID" IsTextEditable="False" DisplayTemplate="{StaticResource comboBoxItemTemplate}" EditNonEditableTemplate="{StaticResource comboBoxItemTemplate}">
            <dxe:ComboBoxEdit.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal" Background="Transparent">
                        <Image Height="17" Width="17" Source="{Binding Path=Icon_17, Converter={StaticResource imageConverter}}" />
                        <TextBlock Text="{Binding Path=CategoryName}" Margin="2" />
                    </StackPanel>
                </DataTemplate>
            </dxe:ComboBoxEdit.ItemTemplate>
        </dxe:ComboBoxEdit>
    </DataTemplate>
    <DataTemplate x:Key="SpinEdit">
        <dxe:SpinEdit Name="PART_Editor" Mask="p" MaskUseAsDisplayFormat="True" Increment="0.01" MinValue="0" IsFloatValue="True" />
    </DataTemplate>
    <DataTemplate x:Key="CheckEdit">
        <dxe:CheckEdit Name="PART_Editor" />
    </DataTemplate>
    <DataTemplate x:Key="RegExTextEdit">
        <dxe:TextEdit Name="PART_Editor" MaskType="RegEx" Mask="\d{5}-\d{3}-\d{4}" MaskUseAsDisplayFormat="True" />
    </DataTemplate>

    <DataTemplate x:Key="TrackBarEdit">
        <dxe:TrackBarEdit Name="PART_Editor"  />
    </DataTemplate>

    <DataTemplate x:Key="ZoomTrackBarEdit">
        <dxe:TrackBarEdit Name="PART_Editor" >
            <dxe:TrackBarEdit.StyleSettings>
                <dxe:TrackBarZoomStyleSettings />
            </dxe:TrackBarEdit.StyleSettings>
        </dxe:TrackBarEdit>
    </DataTemplate>
    <DataTemplate x:Key="RangeTrackBarEdit">
        <dxe:TrackBarEdit Name="PART_Editor"  UseLayoutRounding="True">
            <dxe:TrackBarEdit.StyleSettings>
                <dxe:TrackBarRangeStyleSettings />
            </dxe:TrackBarEdit.StyleSettings>
        </dxe:TrackBarEdit>
    </DataTemplate>

    <DataTemplate x:Key="MemoEdit">
        <dxe:MemoEdit Name="PART_Editor" />
    </DataTemplate>
    <DataTemplate x:Key="DateEdit">
        <dxe:DateEdit Name="PART_Editor">

        </dxe:DateEdit>
    </DataTemplate>
    <DataTemplate x:Key="ListBoxEdit">
        <dxe:ListBoxEdit Name="PART_Editor" ItemsSource="{Binding PalleteSizes, Source={StaticResource DemoDataProvider}}">
            <dxe:ListBoxEdit.ItemsPanel>
                <ItemsPanelTemplate>

                    <dx:WrapPanel Height="60" Orientation="Vertical" />

                </ItemsPanelTemplate>
            </dxe:ListBoxEdit.ItemsPanel>
            <dxe:ListBoxEdit.StyleSettings>
                <dxe:RadioListBoxEditStyleSettings />
            </dxe:ListBoxEdit.StyleSettings>
        </dxe:ListBoxEdit>
    </DataTemplate>
    <DataTemplate x:Key="ButtonEdit">
        <dxe:ButtonEdit Name="PART_Editor" AllowDefaultButton="False">
            <dxe:ButtonInfo ClickMode="Release" Command="{Binding View.DataContext.ButtonEditClickCommand}" GlyphKind="Regular" />
        </dxe:ButtonEdit>
    </DataTemplate>
    <DataTemplate x:Key="PopupColorEdit">
        <dxe:PopupColorEdit Name="PART_Editor" Color="White" />
    </DataTemplate>
    <DataTemplate x:Key="PasswordBoxEdit">
        <dxe:PasswordBoxEdit Name="PART_Editor" />
    </DataTemplate>
    <DataTemplate x:Key="PopupCalcEdit">
        <dxe:PopupCalcEdit Name="PART_Editor" Mask="c" MaskCulture="en-US" Precision="4" MaskUseAsDisplayFormat="True" />
    </DataTemplate>
    <DataTemplate x:Key="PopupImageEdit">
        <dxe:PopupImageEdit Name="PART_Editor" ShowMenuMode="Always" />
    </DataTemplate>
    <DataTemplate x:Key="FontEdit">
        <dxe:FontEdit Name="PART_Editor" />
    </DataTemplate>
</ResourceDictionary>!E
using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Windows.Data;
using DevExpress.Xpf.Core;
using System.ComponentModel;
using System.Windows.Markup;

namespace GridDemo {
    public class PercentCompleteToFontWeightConverter : MarkupExtension, IValueConverter {
        public override object ProvideValue(IServiceProvider serviceProvider) {
            return this;
        }

        #region IValueConverter Members

        object IValueConverter.Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            double percentComplete = Convert.ToDouble(value);
            return 0 < percentComplete && percentComplete < 100 ? FontWeights.Bold : FontWeights.Normal;
        }

        object IValueConverter.ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            throw new NotImplementedException();
        }

        #endregion
    }

    public class StyleFinder : FrameworkElement {
        public static readonly DependencyProperty KeyProperty;
        public static readonly DependencyProperty ValueProperty;

        static StyleFinder() {
            KeyProperty = DependencyProperty.Register("Key", typeof(object), typeof(StyleFinder), new PropertyMetadata(null, OnKeyChanged));
            ValueProperty = DependencyProperty.Register("Value", typeof(object), typeof(StyleFinder), new PropertyMetadata(null));
        }

        static void OnKeyChanged(DependencyObject obj, DependencyPropertyChangedEventArgs e) {
            ((StyleFinder)obj).UpdateValue();
        }

        public object Key {
            get { return GetValue(KeyProperty); }
            set { SetValue(KeyProperty, value); }
        }
        public object Value {
            get { return GetValue(ValueProperty); }
            set { SetValue(ValueProperty, value); }
        }

        public StyleFinder() {
            ThemeManager.ApplicationThemeChanged += ThemeManager_ApplicationThemeChanged;
        }

        void ThemeManager_ApplicationThemeChanged(DependencyObject sender, ThemeChangedRoutedEventArgs e) {
            UpdateValue();
        }

        void UpdateValue() {
            if(!DesignerProperties.GetIsInDesignMode(this))
                Value = ThemeManager.ApplicationTheme.Styles[Key];
        }
    }
}!�<ResourceDictionary 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:dxet="http://schemas.devexpress.com/winfx/2008/xaml/editors/themekeys" xmlns:dxcon="clr-namespace:DevExpress.Xpf.Editors.Controls;assembly=DevExpress.Xpf.Core.v13.1" xmlns:local="clr-namespace:GridDemo">

    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="/GridDemo;component/Themes/generic.SL.xaml" />
    </ResourceDictionary.MergedDictionaries>

    <ControlTemplate x:Key="displayTemplate">

                <TextBlock x:Name="PART_Editor">
                    <TextBlock.Style>
                        <Binding Path="Value">
                            <Binding.Source>
                                <local:StyleFinder Key="TextEditThemeKey_TextBlockInplaceStyle" />
                            </Binding.Source>
                        </Binding>
                    </TextBlock.Style>
                    <TextBlock.FontWeight>
                        <Binding Path="DataContext.RowData.Row.PercentComplete" RelativeSource="{RelativeSource TemplatedParent}">
                            <Binding.Converter>
                                <local:PercentCompleteToFontWeightConverter />
                            </Binding.Converter>
                        </Binding>
                    </TextBlock.FontWeight>
                    <TextBlock.Opacity>
                        <Binding Path="DataContext.RowData.Row.Complete" RelativeSource="{RelativeSource TemplatedParent}">
                            <Binding.Converter>
                                <dx:BoolToObjectConverter FalseValue="1" TrueValue="0.35" />
                            </Binding.Converter>
                        </Binding>
                    </TextBlock.Opacity>
                    <TextBlock.FontStyle>
                        <Binding Path="DataContext.RowData.Row.Complete" RelativeSource="{RelativeSource TemplatedParent}">
                            <Binding.Converter>
                                <dx:BoolToObjectConverter FalseValue="Normal" TrueValue="Italic" />
                            </Binding.Converter>
                        </Binding>
                    </TextBlock.FontStyle>
        </TextBlock>
    </ControlTemplate>
    <ControlTemplate x:Key="editTemplate">

            <dxcon:SLTextBox x:Name="PART_Editor" VerticalAlignment="Stretch">
                    <dxcon:SLTextBox.Style>
                        <Binding Path="Value">
                            <Binding.Source>
                                <local:StyleFinder Key="TextEditThemeKey_TextInplaceStyle" />
                            </Binding.Source>
                        </Binding>
                    </dxcon:SLTextBox.Style>

            <dxcon:SLTextBox.FontWeight>

                    <Binding Path="DataContext.RowData.Row.PercentComplete">
                    <Binding.Converter>
                        <local:PercentCompleteToFontWeightConverter />
                    </Binding.Converter>
                </Binding>
            </dxcon:SLTextBox.FontWeight>
            <dxcon:SLTextBox.Opacity>

                    <Binding Path="DataContext.RowData.Row.Complete">
                    <Binding.Converter>
                        <dx:BoolToObjectConverter FalseValue="1" TrueValue="0.35" />
                    </Binding.Converter>
                </Binding>
            </dxcon:SLTextBox.Opacity>
            <dxcon:SLTextBox.FontStyle>

                    <Binding Path="DataContext.RowData.Row.Complete">
                    <Binding.Converter>
                        <dx:BoolToObjectConverter FalseValue="Normal" TrueValue="Italic" />
                    </Binding.Converter>
                </Binding>
            </dxcon:SLTextBox.FontStyle>


        </dxcon:SLTextBox>
    </ControlTemplate>
</ResourceDictionary>!�using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Windows.Data;
using System.Collections.Generic;
using DevExpress.Xpf.DemoBase.NWind;
using DevExpress.Xpf.DemoBase;
using System.Linq;
using System.Data;

namespace GridDemo {
    public struct Range {
        public string Text { get; set; }
        public int Min { get; set; }
        public int Max { get; set; }
        public override string ToString() {
            return Text;
        }
    }
    public class ProductIdToProductNameConverter : IValueConverter {
        #region IValueConverter Members
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            FillProductsDictionary();
            if(productsDictionary.ContainsKey((int)value))
                return productsDictionary[(int)value];
            return string.Empty;
        }
        static Dictionary<int, string> productsDictionary = new Dictionary<int, string>();
        void FillProductsDictionary() {
            if(productsDictionary.Count == 0) {
                List<Products> list = NWindData.Products as List<Products>;
                foreach(Products product in list)
                    productsDictionary[product.ProductID] = product.ProductName;
            }
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) {
            throw new NotImplementedException();
        }
        #endregion
    }
}!t<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:GridDemo">

    <local:ProductIdToProductNameConverter x:Key="ProductIdToProductNameConverter" />

    <DataTemplate x:Key="selectedRowItemTemplate">
        <StackPanel Orientation="Horizontal">
            <TextBlock Text="{Binding Path=OrderID}" />
            <TextBlock Margin="4,0,0,0" Text="{Binding Path=ProductID, Converter={StaticResource ProductIdToProductNameConverter}}" />
        </StackPanel>
    </DataTemplate>
</ResourceDictionary>!Ausing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using DevExpress.Xpf.Utils;
using System.Windows.Input;
using DevExpress.Xpf.Grid;
using DevExpress.Xpf.DemoBase.DataClasses;
using System.Windows.Media.Imaging;
using System.Windows.Media;
using DevExpress.Xpf.Grid.TreeList;
using DevExpress.Xpf.Core.WPFCompatibility;
using PropertyMetadata = DevExpress.Xpf.Core.WPFCompatibility.SLPropertyMetadata;
using DependencyPropertyChangedEventArgs = DevExpress.Xpf.Core.WPFCompatibility.SLDependencyPropertyChangedEventArgs;

namespace GridDemo {
    public class CustomNodeImageSelector : TreeListNodeImageSelector {
        public CustomNodeImageSelector() {
            ImageCache = new Dictionary<string, ImageSource>();
        }
        Dictionary<string, ImageSource> ImageCache { get; set; }
        public override ImageSource Select(TreeListRowData rowData) {
            string groupName = (rowData.Row as Employee).GroupName;
            if(ImageCache.ContainsKey(groupName))
                return ImageCache[groupName];
            ImageSource image = new BitmapImage(new Uri(GroupNameToImageConverter.GetImagePathByGroupName(groupName), UriKind.Relative));
            ImageCache.Add(groupName, image);
            return image;
        }
    }
}!2<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:GridDemo" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity">

    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="/GridDemo;component/ModuleResources/SharedResources.SL.xaml" />
    </ResourceDictionary.MergedDictionaries>

    <local:GroupNameToImageConverter x:Key="GroupNameToImageConverter" />
    <local:BirthdayImageVisibilityConverter x:Key="BirthdayImageVisibilityConverter" />
    <local:CountryToFlagImageConverter x:Key="CountryToFlagImageConverter" />
    <dx:BooleanToVisibilityConverterExtension x:Key="BooleanToVisibilityConverter" Invert="True" />

    <DataTemplate x:Key="colBirthDateCellTemplate">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition />
                <ColumnDefinition Width="Auto" />
            </Grid.ColumnDefinitions>
            <dxe:DateEdit x:Name="PART_Editor">
            </dxe:DateEdit>
            <Grid Grid.Column="1" Visibility="{Binding Path=IsEditorActive, ElementName=PART_Editor, Converter={StaticResource BooleanToVisibilityConverter}}">
                <Image Margin="4,0,4,0" Source="/GridDemo;component/Images/MultiView/BirthDate.png" Visibility="{Binding Path=EditValue, ElementName=PART_Editor, Converter={StaticResource BirthdayImageVisibilityConverter}}" Stretch="None" HorizontalAlignment="Left" VerticalAlignment="Center">
                    <ToolTipService.ToolTip>
                        <TextBlock Text="Birthday Coming" />
                    </ToolTipService.ToolTip>
                </Image>
            </Grid>
        </Grid>
    </DataTemplate>
    <DataTemplate x:Key="colGroupNameGroupValueTemplate">
        <Grid Margin="5,0,0,0">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition />
            </Grid.ColumnDefinitions>
            <Image Source="{Binding Path=RowData.Row.GroupName, Converter={StaticResource GroupNameToImageConverter}}" Stretch="None" VerticalAlignment="Center">
                <ToolTipService.ToolTip>
                    <TextBlock Text="{Binding Path=RowData.Row.GroupName}" />
                </ToolTipService.ToolTip>
            </Image>
            <TextBlock Style="{StaticResource TextBlockStyle}" Text="{Binding Path=RowData.Row.GroupName}" Padding="5,0,0,0" Grid.Column="1" />
        </Grid>
    </DataTemplate>
    <DataTemplate x:Key="colGroupNameCellTemplate">
        <Image Source="{Binding Path=RowData.Row.GroupName, Converter={StaticResource GroupNameToImageConverter}}" Width="16" Stretch="Uniform">
            <ToolTipService.ToolTip>
                <TextBlock Text="{Binding Path=RowData.Row.GroupName}" />
            </ToolTipService.ToolTip>
        </Image>
    </DataTemplate>
    <local:ViewToBooleanConverter x:Key="ViewToBooleanConverter" />
    <DataTemplate x:Key="customTemplateWithSummaryCustomization">
        <StackPanel Orientation="Horizontal" VerticalAlignment="Center" Margin="0,0,10,0">

            <dxe:ComboBoxEdit Style="{StaticResource GroupSummaryComboBoxEdit}" ItemsSource="{Binding SummaryItemTypes, Source={StaticResource DemoDataProvider}}" EditValue="{Binding Path=SummaryItem.SummaryType, Mode=TwoWay}" ToolTipService.ToolTip="Select summary type" Foreground="Black" Cursor="Hand" />
            <TextBlock VerticalAlignment="Center" Text="(" Foreground="Black" />
            <dxe:ComboBoxEdit Style="{StaticResource GroupSummaryComboBoxEdit}" ItemsSource="{Binding SummaryFieldNames, Source={StaticResource DemoDataProvider}}" EditValue="{Binding Path=SummaryItem.FieldName, Mode=TwoWay}" ToolTipService.ToolTip="Select summary column" Foreground="Black" Cursor="Hand" />
            <TextBlock VerticalAlignment="Center" Text=")=" Foreground="Black" />
            <TextBlock VerticalAlignment="Center" Text="{Binding SummaryValue, Converter={StaticResource FormatStringConverter}}" Foreground="Black" />

        </StackPanel>
    </DataTemplate>
    <local:CustomNodeImageSelector x:Key="imageSelector" />
    <local:EmployeeToOrdersConverter x:Key="employeeToOrdersConverter" />
    <DataTemplate x:Key="cardTemplate">
        <StackPanel Orientation="Vertical">
            <Grid Margin="0">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition Width="*" />
                </Grid.ColumnDefinitions>
                <dxe:ImageEdit Grid.Column="0" Stretch="UniformToFill" Height="70" Width="64" Source="{Binding Path=DataContext.ImageData}" ShowMenu="False" />
                <StackPanel Orientation="Vertical" VerticalAlignment="Top" Margin="12,0,12,0" Grid.Column="1">
                    <StackPanel Orientation="Horizontal" Margin="0,0,0,4">
                        <TextBlock FontWeight="Bold" Text="Title:" />
                        <TextBlock Text="{Binding Path=DataContext.JobTitle}" TextTrimming="CharacterEllipsis" />
                    </StackPanel>
                    <StackPanel Orientation="Horizontal" Margin="0,0,0,4">
                        <TextBlock FontWeight="Bold" Text="First Name:" />
                        <TextBlock Text="{Binding Path=DataContext.FirstName}" TextTrimming="CharacterEllipsis" />
                    </StackPanel>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock FontWeight="Bold" Text="Last Name:" />
                        <TextBlock Text="{Binding Path=DataContext.LastName}" TextTrimming="CharacterEllipsis" />
                    </StackPanel>
                </StackPanel>
            </Grid>
            <dx:DXTabControl Height="160" SelectedIndex="{Binding Path=RowState.(local:CardTemplates.SelectedTabIndex), Mode=TwoWay}" Style="{StaticResource demoTabControl}" Margin="0,12,0,0">
                <dx:DXTabItem Header="Contact Info" Style="{StaticResource demoTabItem}">
                    <StackPanel Orientation="Vertical">
                        <StackPanel Orientation="Horizontal" Margin="0,0,0,4">
                            <TextBlock FontWeight="Bold" Text="Address:" />
                            <TextBlock Text="{Binding Path=DataContext.AddressLine1}" TextWrapping="Wrap" />
                        </StackPanel>
                        <StackPanel Orientation="Horizontal" Margin="0,0,0,4">
                            <TextBlock FontWeight="Bold" Text="City:" />
                            <TextBlock Text="{Binding Path=DataContext.City}" />
                        </StackPanel>
                        <StackPanel Orientation="Horizontal" Margin="0,0,0,4">
                            <TextBlock FontWeight="Bold" Text="Postal Code:" />
                            <TextBlock Text="{Binding Path=DataContext.PostalCode}" />
                        </StackPanel>
                        <StackPanel Orientation="Horizontal" Margin="0,0,0,4">
                            <TextBlock FontWeight="Bold" Text="Country:" />
                            <TextBlock Text="{Binding Path=DataContext.CountryRegionName}" />
                        </StackPanel>
                        <StackPanel Orientation="Horizontal">
                            <TextBlock FontWeight="Bold" Text="Phone:" />
                            <TextBlock Text="{Binding Path=DataContext.Phone}" />
                        </StackPanel>
                    </StackPanel>
                </dx:DXTabItem>
                <dx:DXTabItem Header="Notes" Style="{StaticResource demoTabItem}">
                    <Grid ShowGridLines="False" VerticalAlignment="Top">
                        <Grid.Resources>
                            <dxdb:DateTimeShortPatternCoverter x:Key="dateTimeConverter" />
                        </Grid.Resources>
                        <Grid.RowDefinitions>
                            <RowDefinition />
                            <RowDefinition />
                        </Grid.RowDefinitions>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition />
                            <ColumnDefinition />
                        </Grid.ColumnDefinitions>
                        <TextBlock FontWeight="Bold">Hired at:</TextBlock>
                        <TextBlock Grid.Column="1" Text="{Binding Path=DataContext.HireDate, Converter={StaticResource dateTimeConverter}}" />
                        <TextBlock FontWeight="Bold" Grid.Row="1">Birth Date:</TextBlock>
                        <TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding Path=DataContext.BirthDate, Converter={StaticResource dateTimeConverter}}" />
                    </Grid>
                </dx:DXTabItem>
            </dx:DXTabControl>
        </StackPanel>
    </DataTemplate>
    <DataTemplate x:Key="colInfoHeaderTemplate">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition />
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition />
            </Grid.ColumnDefinitions>
            <Image Source="/GridDemo;component/Images/MultiView/Contacts.png" Stretch="None" />
            <Border x:Name="phoneBorder" Cursor="Hand" Grid.Column="1">
                <TextBlock Style="{StaticResource TextBlockStyle}" x:Name="tbPhone" Margin="4,0,0,0" Text="Phone">
                    <TextBlock.FontWeight>
                        <Binding>
                            <Binding.Converter>
                                <local:ColumnHeaderTextConverter ColumnName="Phone" />
                            </Binding.Converter>
                        </Binding>
                    </TextBlock.FontWeight>
                    <i:Interaction.Triggers>
                        <i:EventTrigger EventName="MouseLeftButtonDown">
                            <i:InvokeCommandAction Command="{Binding Path=(dxg:BaseGridColumnHeader.GridColumn).DataContext.ChangeFieldNameCommand, RelativeSource={RelativeSource TemplatedParent}}" CommandParameter="Phone" />
                        </i:EventTrigger>
                    </i:Interaction.Triggers>
                </TextBlock>
            </Border>
            <TextBlock Text="/" Margin="4,0,0,0" VerticalAlignment="Center" Grid.Column="2" />
            <Border x:Name="addressBorder" Cursor="Hand" Grid.Column="3">
                <TextBlock Style="{StaticResource TextBlockStyle}" x:Name="tbAddress" Margin="4,0,0,0" Text="Address">
                    <TextBlock.FontWeight>
                        <Binding>
                            <Binding.Converter>
                                <local:ColumnHeaderTextConverter ColumnName="Address Line1" />
                            </Binding.Converter>
                        </Binding>
                    </TextBlock.FontWeight>
                    <i:Interaction.Triggers>
                        <i:EventTrigger EventName="MouseLeftButtonDown">
                            <i:InvokeCommandAction Command="{Binding Path=(dxg:BaseGridColumnHeader.GridColumn).DataContext.ChangeFieldNameCommand, RelativeSource={RelativeSource TemplatedParent}}" CommandParameter="AddressLine1" />
                        </i:EventTrigger>
                    </i:Interaction.Triggers>
                </TextBlock>
            </Border>
        </Grid>
    </DataTemplate>
    <DataTemplate x:Key="ordersDetailHeaderTemplate">
        <StackPanel Orientation="Horizontal" MinHeight="24">
            <Image Margin="0,0,3,0" Source="/GridDemo;component/Images/MultiView/Orders.png" VerticalAlignment="Center" />
            <TextBlock Text="Orders" VerticalAlignment="Center" />
        </StackPanel>
    </DataTemplate>
    <DataTemplate x:Key="cardHeaderTemplate">
        <StackPanel Orientation="Horizontal">
            <TextBlock Text="{Binding Path=Data.FirstName}" TextWrapping="NoWrap" />
            <TextBlock Text="{Binding Path=Data.LastName}" TextWrapping="NoWrap" Margin="8,0,0,0" />
        </StackPanel>
    </DataTemplate>
    <DataTemplate x:Key="ImageDataCellTemplate">
        <dxe:ImageEdit x:Name="PART_Editor" Stretch="Uniform" Height="70" />
    </DataTemplate>
</ResourceDictionary>!�using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Input;
using DevExpress.Xpf.Grid;
using DevExpress.Xpf.DemoBase.Helpers;
using DevExpress.Xpf.Core.Commands;
using DevExpress.Xpf.Utils;
using System.Collections;
using DevExpress.Xpf.DemoBase.DataClasses;
using DevExpress.Xpf.Core.WPFCompatibility;
using PropertyMetadata = DevExpress.Xpf.Core.WPFCompatibility.SLPropertyMetadata;
using DependencyPropertyChangedEventArgs = DevExpress.Xpf.Core.WPFCompatibility.SLDependencyPropertyChangedEventArgs;

namespace GridDemo {
    public class MultiViewViewItem {
        public object Content { get; set; }
        public string DisplayName { get; set; }
    }

    public abstract class MultiViewViewModelBase : DemoViewModelBase {
        IList employees = EmployeesWithPhotoData.DataSource;
        public IList Employees { get { return employees; } }

        string columnInfoFieldName = "Phone";
        public string ColumnInfoFieldName {
            get { return this.columnInfoFieldName; }
            set {
                this.columnInfoFieldName = value;
                OnPropertyChanged("ColumnInfoFieldName");
            }
        }

        public MultiViewViewModelBase() {
            ChangeFieldNameCommand = new DelegateCommand<object>(OnChangeFieldName);
        }
        public DelegateCommand<object> ChangeFieldNameCommand { get; private set; }
        bool CanExecuteCommand {
            get { return true; }
        }
        void OnChangeFieldName(object param) {
            ColumnInfoFieldName = (string)param;
        }
    }
    public class MultiViewTableViewViewModel : MultiViewViewModelBase {
    }
    public class MultiViewTreeListViewViewModel : MultiViewViewModelBase {
    }
    public class MultiViewBandedTableViewViewModel : MultiViewViewModelBase {
    }
    public class MultiViewBandedTreeListViewViewModel : MultiViewViewModelBase {
    }
}!�6<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:GridDemo" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity">

    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="/GridDemo;component/ModuleResources/SharedResources.SL.xaml" />
        <ResourceDictionary Source="/GridDemo;component/ModuleResources/MultiViewTemplates.SL.xaml" />
    </ResourceDictionary.MergedDictionaries>

    <DataTemplate DataType="local:MultiViewTableViewViewModel">
        <dxg:GridControl AutoExpandAllGroups="True" ItemsSource="{Binding Employees}" AllowColumnMRUFilterList="False">
            <dxg:GridControl.DetailDescriptor>
                <dxg:DataControlDetailDescriptor ItemsSourceBinding="{Binding Converter={StaticResource employeeToOrdersConverter}}" ShowHeader="True" HeaderContentTemplate="{StaticResource ordersDetailHeaderTemplate}">
                    <dxg:GridControl>
                        <dxg:GridControl.Columns>
                            <dxg:GridColumn FieldName="OrderDate" />
                            <dxg:GridColumn FieldName="Freight" />
                            <dxg:GridColumn FieldName="ShipName" />
                            <dxg:GridColumn FieldName="ShipCountry" CellTemplate="{StaticResource colCountryCellTemplate}" />
                            <dxg:GridColumn FieldName="ShipCity" />
                            <dxg:GridColumn FieldName="ShipAddress" />
                        </dxg:GridControl.Columns>
                        <dxg:GridControl.View>
                            <dxg:TableView AutoWidth="True" ShowGroupPanel="False" ShowFixedTotalSummary="True" DetailHeaderContent="Orders" />
                        </dxg:GridControl.View>
                        <dxg:GridControl.TotalSummary>
                            <dxg:GridSummaryItem SummaryType="Count" Alignment="Left" />
                            <dxg:GridSummaryItem SummaryType="Sum" Alignment="Right" FieldName="Freight" />
                        </dxg:GridControl.TotalSummary>
                    </dxg:GridControl>
                </dxg:DataControlDetailDescriptor>
            </dxg:GridControl.DetailDescriptor>
            <dxg:GridControl.GroupSummary>
                <dxg:GridSummaryItem FieldName="BirthDate" SummaryType="Min" />
            </dxg:GridControl.GroupSummary>
            <dxg:GridControl.Columns>
                <dxg:GridColumn FieldName="FullName" UnboundType="String" UnboundExpression="[FirstName] + ' ' + [LastName]" ReadOnly="True" HeaderTemplate="{StaticResource ColumnHeaderTemplate}" />
                <dxg:GridColumn FieldName="BirthDate" Width="80" HeaderTemplate="{StaticResource ColumnHeaderTemplate}" CellTemplate="{StaticResource colBirthDateCellTemplate}">
                    <dxg:GridColumn.EditSettings>
                        <dxe:DateEditSettings DisplayFormat="d" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn FieldName="JobTitle" HeaderTemplate="{StaticResource ColumnHeaderTemplate}" />
                <dxg:GridColumn FieldName="CountryRegionName" Header="Country" Width="130" HeaderTemplate="{StaticResource ColumnHeaderTemplate}" CellTemplate="{StaticResource colCountryCellTemplate}" />
                <dxg:GridColumn FieldName="Age" Width="80" UnboundType="Integer" Visible="False" ShowInColumnChooser="False" UnboundExpression="DateDiffYear([BirthDate], Today())" AllowColumnFiltering="False" />
                <dxg:GridColumn FieldName="{Binding Path=ColumnInfoFieldName}" AllowSorting="False" AllowColumnFiltering="False" HeaderTemplate="{StaticResource colInfoHeaderTemplate}" />
                <dxg:GridColumn Width="35" GroupIndex="0" FieldName="GroupName" SortMode="Value" AllowEditing="False" GroupValueTemplate="{StaticResource colGroupNameGroupValueTemplate}" CellTemplate="{StaticResource colGroupNameCellTemplate}" Visible="False" />
            </dxg:GridControl.Columns>
            <dxg:GridControl.TotalSummary>
                <dxg:GridSummaryItem SummaryType="Count" Alignment="Right" />
            </dxg:GridControl.TotalSummary>
            <dxg:GridControl.View>
                <dxg:TableView AutoWidth="True" ShowFixedTotalSummary="True" AllowPerPixelScrolling="True" DetailHeaderContent="Employees">
                    <i:Interaction.Triggers>
                        <i:EventTrigger EventName="Loaded">
                            <i:InvokeCommandAction CommandName="ExpandMasterRow" CommandParameter="1" Command="{Binding Commands.ExpandMasterRow, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=dxg:TableView}}" />
                        </i:EventTrigger>
                    </i:Interaction.Triggers>
                </dxg:TableView>
            </dxg:GridControl.View>
        </dxg:GridControl>
    </DataTemplate>
    <DataTemplate DataType="local:MultiViewTreeListViewViewModel">
        <dxg:GridControl ItemsSource="{Binding Employees}" AllowColumnMRUFilterList="False">
            <dxg:GridControl.GroupSummary>
                <dxg:GridSummaryItem FieldName="BirthDate" SummaryType="Min" />
            </dxg:GridControl.GroupSummary>
            <dxg:GridControl.Columns>
                <dxg:GridColumn FieldName="FullName" UnboundType="String" UnboundExpression="[FirstName] + ' ' + [LastName]" ReadOnly="True" HeaderTemplate="{StaticResource ColumnHeaderTemplate}" />
                <dxg:GridColumn FieldName="BirthDate" Width="80" HeaderTemplate="{StaticResource ColumnHeaderTemplate}" CellTemplate="{StaticResource colBirthDateCellTemplate}">
                    <dxg:GridColumn.EditSettings>
                        <dxe:DateEditSettings DisplayFormat="d" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn FieldName="JobTitle" HeaderTemplate="{StaticResource ColumnHeaderTemplate}" />
                <dxg:GridColumn FieldName="CountryRegionName" Header="Country" Width="130" HeaderTemplate="{StaticResource ColumnHeaderTemplate}" CellTemplate="{StaticResource colCountryCellTemplate}" />
                <dxg:GridColumn FieldName="Age" Width="80" UnboundType="Integer" Visible="False" ShowInColumnChooser="False" UnboundExpression="DateDiffYear([BirthDate], Today())" AllowColumnFiltering="False" />
                <dxg:GridColumn FieldName="{Binding Path=ColumnInfoFieldName}" AllowSorting="False" AllowColumnFiltering="False" HeaderTemplate="{StaticResource colInfoHeaderTemplate}" />
                <dxg:GridColumn Width="35" GroupIndex="0" FieldName="GroupName" SortMode="Value" AllowEditing="False" GroupValueTemplate="{StaticResource colGroupNameGroupValueTemplate}" CellTemplate="{StaticResource colGroupNameCellTemplate}" Visible="False" />
            </dxg:GridControl.Columns>
            <dxg:GridControl.TotalSummary>
                <dxg:GridSummaryItem SummaryType="Count" Alignment="Right" />
            </dxg:GridControl.TotalSummary>
            <dxg:GridControl.View>
                <dxg:TreeListView KeyFieldName="Id" ShowFixedTotalSummary="True" ShowSearchPanelMode="Never" ParentFieldName="ParentId" AutoWidth="True" AllowPerPixelScrolling="True" NodeImageSelector="{StaticResource imageSelector}" ShowNodeImages="True" AutoExpandAllNodes="True" />
            </dxg:GridControl.View>
        </dxg:GridControl>
    </DataTemplate>

    <DataTemplate DataType="local:MultiViewBandedTableViewViewModel">
        <dxg:GridControl AutoExpandAllGroups="True" ItemsSource="{Binding Employees}" AllowColumnMRUFilterList="False">
            <dxg:GridControl.Bands>
                <dxg:GridControlBand Header="Person">
                    <dxg:GridColumn FieldName="FullName" UnboundType="String" UnboundExpression="[FirstName] + ' ' + [LastName]" ReadOnly="True" HeaderTemplate="{StaticResource ColumnHeaderTemplate}" />
                    <dxg:GridColumn FieldName="BirthDate" Width="80" HeaderTemplate="{StaticResource ColumnHeaderTemplate}" CellTemplate="{StaticResource colBirthDateCellTemplate}">
                        <dxg:GridColumn.EditSettings>
                            <dxe:DateEditSettings DisplayFormat="d" />
                        </dxg:GridColumn.EditSettings>
                    </dxg:GridColumn>
                    <dxg:GridColumn FieldName="Age" Width="80" UnboundType="Integer" Visible="False" ShowInColumnChooser="False" UnboundExpression="DateDiffYear([BirthDate], Today())" AllowColumnFiltering="False" />
                    <dxg:GridColumn FieldName="JobTitle" HeaderTemplate="{StaticResource ColumnHeaderTemplate}" dxg:BandBase.GridRow="1" />
                    <dxg:GridColumn FieldName="GroupName" Width="35" GroupIndex="0" SortMode="Value" AllowEditing="False" GroupValueTemplate="{StaticResource colGroupNameGroupValueTemplate}" CellTemplate="{StaticResource colGroupNameCellTemplate}" Visible="False" />
                </dxg:GridControlBand>
                <dxg:GridControlBand Header="Contact Info">
                    <dxg:GridColumn FieldName="CountryRegionName" Header="Country" HeaderTemplate="{StaticResource ColumnHeaderTemplate}" CellTemplate="{StaticResource colCountryCellTemplate}" />
                    <dxg:GridColumn FieldName="City" />
                    <dxg:GridColumn FieldName="PostalCode" dxg:BandBase.GridRow="1" />
                    <dxg:GridColumn FieldName="AddressLine1" Header="Address" dxg:BandBase.GridRow="1" />
                </dxg:GridControlBand>
                <dxg:GridControlBand Header="Picture">
                    <dxg:GridColumn FieldName="ImageData" Header="Photo" AllowEditing="False" CellTemplate="{StaticResource ImageDataCellTemplate}" />
                </dxg:GridControlBand>
            </dxg:GridControl.Bands>
            <dxg:GridControl.GroupSummary>
                <dxg:GridSummaryItem FieldName="BirthDate" SummaryType="Min" />
            </dxg:GridControl.GroupSummary>
            <dxg:GridControl.TotalSummary>
                <dxg:GridSummaryItem SummaryType="Count" Alignment="Right" />
            </dxg:GridControl.TotalSummary>
            <dxg:GridControl.View>
                <dxg:TableView AutoWidth="True" ShowFixedTotalSummary="True" AllowPerPixelScrolling="True" DetailHeaderContent="Employees" />
            </dxg:GridControl.View>
        </dxg:GridControl>
    </DataTemplate>
    <DataTemplate DataType="local:MultiViewBandedTreeListViewViewModel">
        <dxg:GridControl ItemsSource="{Binding Employees}" AllowColumnMRUFilterList="False">
            <dxg:GridControl.Bands>
                <dxg:GridControlBand Header="Person">
                    <dxg:GridColumn FieldName="FullName" UnboundType="String" UnboundExpression="[FirstName] + ' ' + [LastName]" ReadOnly="True" HeaderTemplate="{StaticResource ColumnHeaderTemplate}" />
                    <dxg:GridColumn FieldName="BirthDate" Width="80" HeaderTemplate="{StaticResource ColumnHeaderTemplate}" CellTemplate="{StaticResource colBirthDateCellTemplate}">
                        <dxg:GridColumn.EditSettings>
                            <dxe:DateEditSettings DisplayFormat="d" />
                        </dxg:GridColumn.EditSettings>
                    </dxg:GridColumn>
                    <dxg:GridColumn FieldName="Age" Width="80" UnboundType="Integer" Visible="False" ShowInColumnChooser="False" UnboundExpression="DateDiffYear([BirthDate], Today())" AllowColumnFiltering="False" />
                    <dxg:GridColumn FieldName="JobTitle" HeaderTemplate="{StaticResource ColumnHeaderTemplate}" dxg:BandBase.GridRow="1" />
                    <dxg:GridColumn FieldName="GroupName" Width="35" GroupIndex="0" SortMode="Value" AllowEditing="False" GroupValueTemplate="{StaticResource colGroupNameGroupValueTemplate}" CellTemplate="{StaticResource colGroupNameCellTemplate}" Visible="False" />
                </dxg:GridControlBand>
                <dxg:GridControlBand Header="Contact Info">
                    <dxg:GridColumn FieldName="CountryRegionName" Header="Country" HeaderTemplate="{StaticResource ColumnHeaderTemplate}" CellTemplate="{StaticResource colCountryCellTemplate}" />
                    <dxg:GridColumn FieldName="City" />
                    <dxg:GridColumn FieldName="PostalCode" dxg:BandBase.GridRow="1" />
                    <dxg:GridColumn FieldName="AddressLine1" Header="Address" dxg:BandBase.GridRow="1" />
                </dxg:GridControlBand>
                <dxg:GridControlBand Header="Picture">
                    <dxg:GridColumn FieldName="ImageData" Header="Photo" AllowEditing="False" CellTemplate="{StaticResource ImageDataCellTemplate}" />
                </dxg:GridControlBand>
            </dxg:GridControl.Bands>
            <dxg:GridControl.GroupSummary>
                <dxg:GridSummaryItem FieldName="BirthDate" SummaryType="Min" />
            </dxg:GridControl.GroupSummary>
            <dxg:GridControl.TotalSummary>
                <dxg:GridSummaryItem SummaryType="Count" Alignment="Right" />
            </dxg:GridControl.TotalSummary>
            <dxg:GridControl.View>
                <dxg:TreeListView KeyFieldName="Id" ShowFixedTotalSummary="True" ShowSearchPanelMode="Never" AutoExpandAllNodes="True" ParentFieldName="ParentId" AutoWidth="True" AllowPerPixelScrolling="True" NodeImageSelector="{StaticResource imageSelector}" ShowNodeImages="True" />
            </dxg:GridControl.View>
        </dxg:GridControl>
    </DataTemplate>
</ResourceDictionary>!�using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using DevExpress.Xpf.Utils;
using System.ComponentModel;
using System.Collections;
using DevExpress.Data.Browsing;
using DevExpress.Xpf.Core.WPFCompatibility;

namespace GridDemo {
    public class CountItem : DependencyObject {
        public static readonly DependencyProperty CountProperty = DependencyPropertyManager.Register(
            "Count", typeof(int), typeof(CountItem), new FrameworkPropertyMetadata());

        public CountItem() { }

        public string DisplayName { get; set; }
        public int Count {
            get { return (int)GetValue(CountProperty); }
            set { SetValue(CountProperty, value); }
        }
    }
    public class CountItemCollection : List<CountItem> { }
    public class OrderDataListSource : IListSource {
        OrderDataGenerator orderDataGenerator;

        public OrderDataListSource(OrderDataGenerator orderDataGenerator) {
            this.orderDataGenerator = orderDataGenerator;
        }
        public IList GetList() {
            return orderDataGenerator.GetOrders();
        }
    }

}!G
<ResourceDictionary 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:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:local="clr-namespace:GridDemo">

    <local:GeneratingDataToWaitIndicatorTypeConverter x:Key="GeneratingDataToWaitIndicatorTypeConverter" />
    <dx:FormatStringConverter x:Key="FormatStringConverter" FormatString="#,#" />
    <dx:BoolToVisibilityConverter x:Key="BoolToVisibilityConverter" />
    <local:CategoryDataToImageSourceConverter x:Key="ImageConverter" />
    <DataTemplate x:Key="CountItemTemplate">
        <dx:DXDockPanel LastChildFill="False" Width="150">
            <TextBlock Text="{Binding Path=DisplayName}" dx:DXDockPanel.Dock="Left" />
            <TextBlock Text="{Binding Path=Count, Converter={StaticResource FormatStringConverter}}" dx:DXDockPanel.Dock="Right" />
        </dx:DXDockPanel>
    </DataTemplate>

    <ControlTemplate x:Key="WaitIndicatorWithProgressTemplate">
        <dx:WaitIndicatorContainer>
            <Grid HorizontalAlignment="Center" VerticalAlignment="Center">
                <Grid.RowDefinitions>
                    <RowDefinition />
                    <RowDefinition />
                </Grid.RowDefinitions>
                <TextBlock Margin="0,12,0,8" Text="Generating data..." HorizontalAlignment="Center" VerticalAlignment="Center" />
                <dxe:ProgressBarEdit Grid.Row="1" Grid.Column="0" Minimum="0.0" Maximum="100.0" Margin="12,0,12,12" Width="160" HorizontalAlignment="Center" VerticalAlignment="Center" Value="{Binding Path=GenerateOrderDataProgressValue}" />
            </Grid>
        </dx:WaitIndicatorContainer>
    </ControlTemplate>
    <DataTemplate x:Key="categoryTemplate">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition />
                <ColumnDefinition />
            </Grid.ColumnDefinitions>
            <Image Grid.Column="0" Height="24" Width="24" Source="{Binding Converter={StaticResource ImageConverter}}">

            </Image>
            <TextBlock Grid.Column="1" Text="{Binding Path=Name}" VerticalAlignment="Center" Padding="5,0,2,0" />
        </Grid>
    </DataTemplate>
    <DataTemplate x:Key="categoryCellTemplate">
        <Image Height="24" Width="24" HorizontalAlignment="Center" Source="{Binding Path=Value, Converter={StaticResource ImageConverter}}" ToolTipService.ToolTip="{Binding Path=Value.Name}">

        </Image>
    </DataTemplate>
</ResourceDictionary>!kusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DevExpress.Xpf.DemoBase.Helpers;
using System.Windows;

namespace GridDemo {
    public class PLinqInstantFeedbackDemoViewModel : DemoViewModelBase {
        OrderDataListSource orderDataListSource;
        OrderDataGenerator orderDataGenerator = new OrderDataGenerator(0);
        bool isGeneratingOrderData;
        double generateOrderDataProgressValue;
        CountItemCollection countItems;
        CountItem selectedCountItem;
        bool isDesignTime = true;
        System.Windows.Threading.Dispatcher uiDispather;

        void orderDataGenerator_GenerateOrderDataStarted(object sender, EventArgs e) {
            uiDispather.BeginInvoke(new Action(delegate { IsGeneratingOrderData = true; }));
        }
        void orderDataGenerator_GenerateOrderDataCompleted(object sender, EventArgs e) {
            uiDispather.BeginInvoke(new Action(delegate { IsGeneratingOrderData = false; }));
        }
        void orderDataGenerator_GenerateOrderDataProgress(object sender, GenerateOrderDataProgressEventArgs e) {
            uiDispather.BeginInvoke(new Action(delegate { GenerateOrderDataProgressValue = e.Progress; }));
        }
        public PLinqInstantFeedbackDemoViewModel() {
            orderDataGenerator.GenerateOrderDataStarted += orderDataGenerator_GenerateOrderDataStarted;
            orderDataGenerator.GenerateOrderDataCompleted += orderDataGenerator_GenerateOrderDataCompleted;
            orderDataGenerator.GenerateOrderDataProgress += orderDataGenerator_GenerateOrderDataProgress;
            uiDispather = Application.Current.RootVisual.Dispatcher;
        }
        public PLinqInstantFeedbackDemoViewModel(bool isDesignTime)
            : this() {
            this.isDesignTime = isDesignTime;
        }

        void RecreateListSource() {
            if((SelectedCountItem != null) && !isDesignTime) {
                orderDataGenerator.Count = SelectedCountItem.Count;
            } else {
                orderDataGenerator.Count = 0;
            }
            ListSource = new OrderDataListSource(orderDataGenerator);
        }
        public OrderDataListSource ListSource {
            get { return orderDataListSource; }
            set {
                if(orderDataListSource == value) return;
                orderDataListSource = value;
                OnPropertyChanged("ListSource");
            }
        }
        public List<CategoryData> Categories {
            get { return orderDataGenerator.GetCategories(); }
        }
        public bool IsGeneratingOrderData {
            get { return isGeneratingOrderData; }
            set {
                if(isGeneratingOrderData == value) return;
                isGeneratingOrderData = value;
                OnPropertyChanged("IsGeneratingOrderData");
            }
        }
        public double GenerateOrderDataProgressValue {
            get { return generateOrderDataProgressValue; }
            set {
                generateOrderDataProgressValue = value;
                OnPropertyChanged("GenerateOrderDataProgressValue");
            }
        }
        public CountItemCollection CountItems {
            get { return countItems; }
            set {
                if(countItems == value) return;
                countItems = value;
                OnPropertyChanged("CountItems");
                if((CountItems != null) && (CountItems.Count > 0)) {
                    SelectedCountItem = CountItems[CountItems.Count / 2];
                } else {
                    SelectedCountItem = null;
                }
            }
        }
        public CountItem SelectedCountItem {
            get { return selectedCountItem; }
            set {
                if(selectedCountItem == value) return;
                selectedCountItem = value;
                OnPropertyChanged("SelectedCountItem");
                RecreateListSource();
            }
        }
        public void SetIsDesignTime(bool value) {
            isDesignTime = value;
            RecreateListSource();
        }
    }
}!�
using DevExpress.Utils;
using DevExpress.Xpf.DemoBase.Helpers;

namespace GridDemo {
    public class PrintMasterDetailModuleViewModel : DemoViewModelBase {
        DefaultBoolean allowPrintDetailsCore, printAllDetailsCore;
        bool printOrdersColumnHeadersCore, printOrdersSummariesCore, printCustomersColumnHeadersCore,
             printCustomersSummariesCore, printInvoicesColumnHeadersCore, printInvoicesSummariesCore,
             printEmployeesColumnHeadersCore, printEmployeesSummariesCore;

        public PrintMasterDetailModuleViewModel() {
            Employees = new EmployeesWithDetails();
            AllowPrintDetails = DefaultBoolean.True;
            PrintAllDetails = DefaultBoolean.False;
            PrintOrdersSummaries = true;
            PrintOrdersColumnHeaders = true;
            PrintCustomersColumnHeaders = true;
            PrintCustomersSummaries = true;
            PrintInvoicesColumnHeaders = true;
            PrintInvoicesSummaries = true;
            PrintEmployeesColumnHeaders = true;
            PrintEmployeesSummaries = true;
        }

        public EmployeesWithDetails Employees { get; private set; }

        public DefaultBoolean AllowPrintDetails {
            get { return allowPrintDetailsCore; }
            set { ChangeProperty<DefaultBoolean>(ref allowPrintDetailsCore, value, "AllowPrintDetails"); }
        }
        public DefaultBoolean PrintAllDetails {
            get { return printAllDetailsCore; }
            set { ChangeProperty<DefaultBoolean>(ref printAllDetailsCore, value, "PrintAllDetails"); }
        }


        public bool PrintOrdersColumnHeaders {
            get { return printOrdersColumnHeadersCore; }
            set { ChangeProperty<bool>(ref printOrdersColumnHeadersCore, value, "PrintOrdersColumnHeaders"); }
        }
        public bool PrintOrdersSummaries {
            get { return printOrdersSummariesCore; }
            set { ChangeProperty<bool>(ref printOrdersSummariesCore, value, "PrintOrdersSummaries"); }
        }

        public bool PrintCustomersColumnHeaders {
            get { return printCustomersColumnHeadersCore; }
            set { ChangeProperty<bool>(ref printCustomersColumnHeadersCore, value, "PrintCustomersColumnHeaders"); }
        }
        public bool PrintCustomersSummaries {
            get { return printCustomersSummariesCore; }
            set { ChangeProperty<bool>(ref printCustomersSummariesCore, value, "PrintCustomersSummaries"); }
        }

        public bool PrintInvoicesColumnHeaders {
            get { return printInvoicesColumnHeadersCore; }
            set { ChangeProperty<bool>(ref printInvoicesColumnHeadersCore, value, "PrintInvoicesColumnHeaders"); }
        }

        public bool PrintInvoicesSummaries {
            get { return printInvoicesSummariesCore; }
            set { ChangeProperty<bool>(ref printInvoicesSummariesCore, value, "PrintInvoicesSummaries"); }
        }

        public bool PrintEmployeesColumnHeaders {
            get { return printEmployeesColumnHeadersCore; }
            set { ChangeProperty<bool>(ref printEmployeesColumnHeadersCore, value, "PrintEmployeesColumnHeaders"); }
        }

        public bool PrintEmployeesSummaries {
            get { return printEmployeesSummariesCore; }
            set { ChangeProperty<bool>(ref printEmployeesSummariesCore, value, "PrintEmployeesSummaries"); }
        }
    }
}!�	<ResourceDictionary 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:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxgt="clr-namespace:DevExpress.Xpf.Grid.Themes;assembly=DevExpress.Xpf.Grid.v13.1">

    <dxg:PrintGroupPositionToBorderConverter x:Key="PrintGroupPositionToBorderConverter" />
    <dx:BoolToObjectConverter x:Key="OddEvenRowColorConverter" TrueValue="#FFFFFFFF" FalseValue="#FFF9E4BE" />

    <Style x:Key="customPrintColumnHeaderStyle" TargetType="dxe:BaseEdit" BasedOn="{StaticResource TableViewThemeKey_DefaultPrintStyleBase}">
        <Setter Property="Background" Value="#FFFAB339" />
        <Setter Property="Foreground" Value="#FFFFFFFF" />
        <Setter Property="FontWeight" Value="Bold" />

        <Setter Property="BorderBrush" Value="White" />
        <Setter Property="BorderThickness" Value="1" />
    </Style>
    <Style x:Key="customPrintCellStyle" TargetType="dxe:BaseEdit" BasedOn="{StaticResource TableViewThemeKey_DefaultPrintStyleBase}">
        <Setter Property="Background" Value="{Binding Path=RowData.EvenRow, Converter={StaticResource OddEvenRowColorConverter}}" />
        <Setter Property="BorderBrush" Value="White" />
        <Setter Property="BorderThickness" Value="1" />
    </Style>
    <Style x:Key="customGroupRowStyle" TargetType="dxe:BaseEdit" BasedOn="{StaticResource TableViewThemeKey_DefaultPrintStyleBase}">
        <Setter Property="Background" Value="#FFD6D6D6" />
        <Setter Property="BorderBrush" Value="White" />
        <Setter Property="Foreground" Value="#FF5E5E5E" />
        <Setter Property="FontWeight" Value="Bold" />
        <Setter Property="BorderThickness" Value="{Binding Converter={StaticResource PrintGroupPositionToBorderConverter}}" />
    </Style>
    <Style x:Key="customPrintTotalSummaryStyle" BasedOn="{StaticResource customPrintColumnHeaderStyle}" TargetType="dxe:BaseEdit">

        <Setter Property="BorderBrush" Value="White" />
        <Setter Property="BorderThickness" Value="1" />
    </Style>
    <Style x:Key="customPrintFixedTotalSummaryStyle" BasedOn="{StaticResource customPrintColumnHeaderStyle}" TargetType="dxe:BaseEdit">
        <Setter Property="BorderBrush" Value="White" />
        <Setter Property="BorderThickness" Value="1" />
    </Style>
</ResourceDictionary>!�+<ResourceDictionary 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxgt="clr-namespace:DevExpress.Xpf.Grid.Themes;assembly=DevExpress.Xpf.Grid.v13.1" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxp="http://schemas.devexpress.com/winfx/2008/xaml/printing">

    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="/GridDemo;component/Themes/generic.SL.xaml" />
    </ResourceDictionary.MergedDictionaries>

    <dx:ImageDataConverter x:Key="ImageDataConverter" />
    <Style x:Key="fieldStyle" TargetType="dxe:TextEdit" BasedOn="{StaticResource TableViewThemeKey_DefaultPrintStyleBase}">
        <Setter Property="Background" Value="#FF6D8C59" />
        <Setter Property="Margin" Value="0,2,2,2" />
        <Setter Property="Width" Value="120" />
        <Setter Property="Foreground" Value="#FFFFFFFF" />
        <Setter Property="FontWeight" Value="Bold" />
    </Style>
    <Style x:Key="dataStyle" TargetType="dxe:TextEdit" BasedOn="{StaticResource TableViewThemeKey_DefaultPrintStyleBase}">
        <Setter Property="Background" Value="#FFF0EDDA" />
        <Setter Property="Margin" Value="0,2,2,2" />
        <Setter Property="TextWrapping" Value="Wrap" />
    </Style>
    <Style x:Key="photoColumnStyle" TargetType="dxe:PopupImageEdit" BasedOn="{StaticResource TableViewThemeKey_DefaultPrintCellStyle}">
        <Setter Property="dxp:ExportSettings.TargetType" Value="Panel" />

                <Setter Property="ShowEmptyIconTemplate" Value="{x:Null}" />
                <Setter Property="ShowIconTemplate" Value="{x:Null}" />
                <Setter Property="dxp:ExportSettings.PropertiesHintMask" Value="TargetType" />

        <Setter Property="DisplayTemplate">
            <Setter.Value>
                <ControlTemplate TargetType="dxe:PopupImageEdit">

                    <dxe:ImageEdit IsPrintingMode="True" Margin="4" HorizontalAlignment="Center" VerticalAlignment="Center" Source="{Binding Path=DataContext.Value, Converter={StaticResource ImageDataConverter}}" />

                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <DataTemplate x:Key="detailPrintRowTemplate">
        <ContentControl Foreground="{Binding Foreground, RelativeSource={RelativeSource TemplatedParent}}">
            <Grid DataContext="{Binding DataContext.Content, RelativeSource={RelativeSource TemplatedParent}}" Width="{Binding Path=(dxg:GridPrintingHelper.PrintRowInfo).TotalHeaderWidth}" Margin="0,12,0,0">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition Width="12" />
                    <ColumnDefinition />
                </Grid.ColumnDefinitions>
                <dxe:ImageEdit IsPrintingMode="True" Grid.Column="0" VerticalAlignment="Center" BorderThickness="8" BorderBrush="#FFF0EDDA" Source="{Binding Path=Row.Photo, Converter={StaticResource ImageDataConverter}}" />
                <Grid Grid.Column="2">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="Auto" />
                        <ColumnDefinition Width="12" />
                        <ColumnDefinition />
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition />
                        <RowDefinition />
                        <RowDefinition />
                        <RowDefinition />
                        <RowDefinition />
                        <RowDefinition />
                        <RowDefinition />
                    </Grid.RowDefinitions>

                    <dxe:TextEdit Grid.Column="0" Grid.Row="0" EditValue="First Name:" Style="{StaticResource fieldStyle}" />
                    <dxe:TextEdit Grid.Column="0" Grid.Row="1" EditValue="Last Name:" Style="{StaticResource fieldStyle}" />
                    <dxe:TextEdit Grid.Column="0" Grid.Row="2" EditValue="Birth Date:" Style="{StaticResource fieldStyle}" />
                    <dxe:TextEdit Grid.Column="0" Grid.Row="3" EditValue="Position:" Style="{StaticResource fieldStyle}" />
                    <dxe:TextEdit Grid.Column="0" Grid.Row="4" EditValue="Hire Date:" Style="{StaticResource fieldStyle}" />
                    <dxe:TextEdit Grid.Column="0" Grid.Row="5" EditValue="About:" Style="{StaticResource fieldStyle}" />
                    <dxe:TextEdit Grid.Column="0" Grid.Row="6" EditValue="Address:" Style="{StaticResource fieldStyle}" />

                    <dxe:TextEdit Grid.Column="2" Grid.Row="0" EditValue="{Binding Row.FirstName}" Style="{StaticResource dataStyle}" />
                    <dxe:TextEdit Grid.Column="2" Grid.Row="1" EditValue="{Binding Row.LastName}" Style="{StaticResource dataStyle}" />
                    <dxe:TextEdit Grid.Column="2" Grid.Row="2" EditValue="{Binding Row.BirthDate}" MaskUseAsDisplayFormat="True" MaskType="DateTime" Mask="D" Style="{StaticResource dataStyle}" />
                    <dxe:TextEdit Grid.Column="2" Grid.Row="3" EditValue="{Binding Row.Title}" Style="{StaticResource dataStyle}" />
                    <dxe:TextEdit Grid.Column="2" Grid.Row="4" EditValue="{Binding Row.HireDate}" MaskUseAsDisplayFormat="True" MaskType="DateTime" Mask="D" Style="{StaticResource dataStyle}" />
                    <dxe:TextEdit Grid.Column="2" Grid.Row="5" EditValue="{Binding Row.Notes}" Style="{StaticResource dataStyle}" />
                    <dxe:TextEdit Grid.Column="2" Grid.Row="6" EditValue="{Binding Row.Address}" Style="{StaticResource dataStyle}" />
                </Grid>
            </Grid>
        </ContentControl>
    </DataTemplate>
    <DataTemplate x:Key="detailPrintHeaderTemplate">
        <dxe:TextEdit IsPrintingMode="True" Background="#FF6D8C59" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Padding="12" Margin="0,0,0,8" Width="{Binding Path=Content.(dxg:GridPrintingHelper.PrintRowInfo).TotalHeaderWidth}" Foreground="#FFFFFFFF" FontWeight="Bold" FontSize="20" HorizontalContentAlignment="Center" EditValue="Employee List" />
    </DataTemplate>
    <Style x:Key="mailMergePrintHeaderStyle" TargetType="dxe:TextEdit">
        <Setter Property="BorderThickness" Value="0" />
    </Style>
    <dxg:RowPropertyValueConverter x:Key="RowPropertyValueConverter" />
    <dx:FormatStringConverter x:Key="FormatStringConverter" FormatString="D" />

    <DataTemplate x:Key="mailMergePrintRowTemplate">
        <ContentControl Foreground="{Binding Foreground, RelativeSource={RelativeSource TemplatedParent}}">
            <Grid DataContext="{Binding DataContext.Content, RelativeSource={RelativeSource TemplatedParent}}" Width="{Binding Path=(dxg:GridPrintingHelper.PrintRowInfo).TotalHeaderWidth}" Margin="0,15,0,0" dxp:ExportSettings.TargetType="Panel">
                <Grid.RowDefinitions>
                    <RowDefinition />
                    <RowDefinition />
                    <RowDefinition />
                    <RowDefinition />
                    <RowDefinition />
                    <RowDefinition />
                    <RowDefinition />
                    <RowDefinition />
                </Grid.RowDefinitions>
                <dxe:ImageEdit IsPrintingMode="True" HorizontalAlignment="Center" VerticalAlignment="Center" MaxWidth="150" BorderThickness="1" BorderBrush="Black" Source="{Binding Path=Row.Photo, Converter={StaticResource ImageDataConverter}}" />
                <dxe:TextEdit Grid.Row="1" HorizontalAlignment="Center" HorizontalContentAlignment="Center" FontSize="24" FontWeight="Bold" Foreground="#FFBE4410" Style="{StaticResource TableViewThemeKey_DefaultPrintStyleBase}" Padding="5,2,5,2" EditValue="{Binding Path=DataContext, Converter={StaticResource RowPropertyValueConverter}, ConverterParameter=FullName}">
                </dxe:TextEdit>
                <dxe:TextEdit Grid.Row="2" EditValue="Details" FontSize="20" HorizontalAlignment="Center" Margin="2,4,2,4" Foreground="#FF797979" Style="{StaticResource TableViewThemeKey_DefaultPrintStyleBase}" />

                <dx:WrapPanel Grid.Row="3" dxp:ExportSettings.TargetType="Panel">
                    <dxe:TextEdit EditValue="Birth date:" FontWeight="Bold" Style="{StaticResource TableViewThemeKey_DefaultPrintStyleBase}" />
                    <dxe:TextEdit EditValue="{Binding Row.BirthDate, Converter={StaticResource FormatStringConverter}}" Style="{StaticResource TableViewThemeKey_DefaultPrintStyleBase}" />
                </dx:WrapPanel>
                <dx:WrapPanel Grid.Row="4" dxp:ExportSettings.TargetType="Panel">
                    <dxe:TextEdit EditValue="Position:" FontWeight="Bold" Style="{StaticResource TableViewThemeKey_DefaultPrintStyleBase}" />
                    <dxe:TextEdit EditValue="{Binding Row.Title}" Style="{StaticResource TableViewThemeKey_DefaultPrintStyleBase}" />
                </dx:WrapPanel>
                <dx:WrapPanel Grid.Row="5" dxp:ExportSettings.TargetType="Panel">
                    <dxe:TextEdit EditValue="Deparment:" FontWeight="Bold" Style="{StaticResource TableViewThemeKey_DefaultPrintStyleBase}" />
                    <dxe:TextEdit EditValue="{Binding Row.Region}" Style="{StaticResource TableViewThemeKey_DefaultPrintStyleBase}" />
                </dx:WrapPanel>
                <Grid Grid.Row="6" dxp:ExportSettings.TargetType="Panel">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="Auto" />
                        <ColumnDefinition Width="*" />
                    </Grid.ColumnDefinitions>

                    <dxe:TextEdit Grid.Column="0" EditValue="Notes:" FontWeight="Bold" VerticalAlignment="Top" Style="{StaticResource TableViewThemeKey_DefaultPrintStyleBase}">

                                <dxe:TextEdit.VerticalContentAlignment>
                                    Top
                                </dxe:TextEdit.VerticalContentAlignment>

                    </dxe:TextEdit>
                    <dxe:TextEdit Grid.Column="1" EditValue="{Binding Row.Notes}" TextWrapping="Wrap" Style="{StaticResource TableViewThemeKey_DefaultPrintStyleBase}">

                                <dxe:TextEdit.VerticalContentAlignment>
                                    Top
                                </dxe:TextEdit.VerticalContentAlignment>

                    </dxe:TextEdit>
                </Grid>
                <dx:WrapPanel Grid.Row="7" Margin="0,5,0,0" dxp:ExportSettings.TargetType="Panel">
                    <dxe:TextEdit EditValue="Contact phone:" FontWeight="Bold" Style="{StaticResource TableViewThemeKey_DefaultPrintStyleBase}" />
                    <dxe:TextEdit EditValue="{Binding Row.HomePhone}" Foreground="#FFBE4410" FontWeight="Bold" Style="{StaticResource TableViewThemeKey_DefaultPrintStyleBase}" />
                </dx:WrapPanel>

            </Grid>
        </ContentControl>
    </DataTemplate>

</ResourceDictionary>!�<ResourceDictionary 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:local="clr-namespace:GridDemo">

    <dx:DurationToDoubleConverter x:Key="DurationToDoubleConverter" />
    <dx:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
    <local:IssueStatusImageConverter x:Key="IssueStatusImageConverter" />
    <local:IdToUriConverter x:Key="IdToUriConverter" />
    <local:BooleanToDefaultBooleanConverter x:Key="BooleanToDefaultBooleanConverter" />

    <DataTemplate x:Key="idTemplate">

         <HyperlinkButton HorizontalAlignment="Center" NavigateUri="{Binding Path=Value, Converter={StaticResource IdToUriConverter}}" Content="{Binding Path=Value}" />
    </DataTemplate>
    <DataTemplate x:Key="statusTemplate">
        <Image Height="16" Width="16" HorizontalAlignment="Center" ToolTipService.ToolTip="{Binding Path=Value}" Source="{Binding Path=Value, Converter={StaticResource IssueStatusImageConverter}}">

        </Image>
    </DataTemplate>
</ResourceDictionary>!�using DevExpress.Xpf.DemoBase.Helpers;

namespace GridDemo {
    public class RIAInstantFeedbackViewModel : DemoViewModelBase {
        bool isUseExtendedDataQuery;

        public bool IsUseExtendedDataQuery {
            get { return this.isUseExtendedDataQuery; }
            set { ChangeProperty(ref this.isUseExtendedDataQuery, value, "IsUseExtendedDataQuery"); }
        }

        public RIAInstantFeedbackViewModel() {
            IsUseExtendedDataQuery = true;
        }
    }
}!�
using System;
using System.Windows;
using System.Windows.Input;
using System.Windows.Interactivity;
using DevExpress.Xpf.Utils;
using System.Windows.Markup;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Core.WPFCompatibility;
using PropertyMetadata = DevExpress.Xpf.Core.WPFCompatibility.SLPropertyMetadata;
using RoutedEvent = DevExpress.Xpf.Core.WPFCompatibility.SLRoutedEvent;
using RoutedEventArgs = DevExpress.Xpf.Core.WPFCompatibility.SLRoutedEventArgs;

namespace GridDemo {
    public class RoutedEventCommandHelper : Behavior<FrameworkElement> {
        delegate void RoutedEventHandler(object sender, SLRoutedEventArgs e);
        public static readonly DependencyProperty CommandProperty;
        static RoutedEventCommandHelper() {
            CommandProperty = DependencyPropertyManager.Register("Command", typeof(ICommand), typeof(RoutedEventCommandHelper), new PropertyMetadata(null));
        }
        readonly RoutedEventHandler handler;
        private RoutedEvent routedEvent;
        public RoutedEventCommandHelper() {
            this.handler = new RoutedEventHandler(OnRaiseEvent);
        }
        protected override void OnAttached() {
            base.OnAttached();
            if(RoutedEvent == null) return;
            UpdateSubsrcribtion();
        }
        private void UpdateSubsrcribtion() {
            AssociatedObject.RemoveHandler(RoutedEvent, handler);
            AssociatedObject.AddHandler(RoutedEvent, this.handler);
        }
        private void OnRaiseEvent(object sender, RoutedEventArgs e) {
            if(Command == null) return;
            Command.Execute(new RoutedEventHandlerArgs(sender, e));
        }
        public RoutedEvent RoutedEvent {
            get { return this.routedEvent; }
            set {
                this.routedEvent = value;
                if(AssociatedObject == null) return;
                UpdateSubsrcribtion();
            }
        }
        public ICommand Command {
            get { return (ICommand)GetValue(CommandProperty); }
            set { SetValue(CommandProperty, value); }
        }
    }
    public class RoutedEventHandlerArgs {
        public object Sender { get; private set; }
        public RoutedEventArgs Args { get; private set; }
        public RoutedEventHandlerArgs(object sender, RoutedEventArgs e) {
            Sender = sender;
            Args = e;
        }
    }
    public class EditValueChangedEventExtension : MarkupExtension {
        public EditValueChangedEventExtension() { }
        public override object ProvideValue(IServiceProvider serviceProvider) {
            return BaseEdit.EditValueChangedEvent;
        }
    }
}!3using System;
using System.Windows.Controls;
using DevExpress.Xpf.Core;
using DevExpress.Xpf.Core.WPFCompatibility;

namespace GridDemo {
    public class SendEmailButton : Button {
        public SendEmailButton() {
            this.SetDefaultStyleKey(typeof(SendEmailButton));
        }
    }
}!�<ResourceDictionary 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:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:local="clr-namespace:GridDemo">

    <dx:FormatStringConverter x:Key="FormatStringConverter" FormatString="D" />
    <dx:ImageDataConverter x:Key="ImageDataConverter" />

    <DataTemplate x:Key="eMailTemplate">
        <local:SendEmailButton Margin="4,0" VerticalAlignment="Center" Cursor="Hand" Content="{Binding Value}" Command="{Binding View.Tag}" CommandParameter="{Binding Value}" ClickMode="Press">
            <local:SendEmailButton.Template>
                <ControlTemplate TargetType="Button">
                    <Grid Background="Transparent">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="Auto" />
                            <ColumnDefinition Width="19" />
                        </Grid.ColumnDefinitions>
                        <TextBlock Name="text" Margin="0,0,0,1" Text="{TemplateBinding Content}" VerticalAlignment="Center" />
                        <Path x:Name="path" Stretch="Fill" Fill="{Binding Foreground, ElementName=text}" Data="F1 M 648,462L 644,466L 643,465L 646,462L 643,459L 644,458L 648,462 Z M 652,462L 648,466L 647,465L 650,462L 647,459L 648,458L 652,462 Z" HorizontalAlignment="Center" Margin="0" VerticalAlignment="Center" Width="8" Height="7" Grid.Column="1" />
                    </Grid>

                </ControlTemplate>
            </local:SendEmailButton.Template>
        </local:SendEmailButton>
    </DataTemplate>
    <DataTemplate x:Key="DetailCoreTemplate">
        <dx:MeasurePixelSnapper>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition Width="12" />
                    <ColumnDefinition />
                </Grid.ColumnDefinitions>
                <dxe:ImageEdit MaxWidth="150" HorizontalAlignment="Left" VerticalAlignment="Top" Source="{Binding Path=Row.Photo, Converter={StaticResource ImageDataConverter}}" Grid.Column="0" Width="{Binding Path=CellData[0].Column.ActualDataWidth}" ShowMenu="False" />
                <Grid Grid.Column="2">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="Auto" />
                        <ColumnDefinition Width="12" />
                        <ColumnDefinition />
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition />
                        <RowDefinition />
                        <RowDefinition />
                        <RowDefinition />
                        <RowDefinition />
                    </Grid.RowDefinitions>
                    <TextBlock Grid.Column="0" Grid.Row="0" Text="Name:" />
                    <TextBlock Grid.Column="0" Grid.Row="1" Text="Position:" />
                    <TextBlock Grid.Column="0" Grid.Row="2" Text="Hire Date:" />
                    <TextBlock Grid.Column="0" Grid.Row="3" Text="About:" />
                    <TextBlock Grid.Column="0" Grid.Row="4" Text="Address:" />
                    <TextBlock Grid.Column="2" Grid.Row="0" Text="{Binding Row.FirstName}" />
                    <TextBlock Grid.Column="2" Grid.Row="1" Text="{Binding Row.Title}" />
                    <TextBlock Grid.Column="2" Grid.Row="2" Text="{Binding Row.HireDate, Converter={StaticResource FormatStringConverter}}" />
                    <TextBlock Grid.Column="2" Grid.Row="3" HorizontalAlignment="Left" Text="{Binding Row.Notes}" TextWrapping="Wrap" />
                    <TextBlock Grid.Column="2" Grid.Row="4" Text="{Binding Row.Address}" />
                </Grid>
            </Grid>
        </dx:MeasurePixelSnapper>
    </DataTemplate>
    <ControlTemplate x:Key="detailContainerTemplate" TargetType="ContentControl">
        <Border BorderThickness="0,1,0,0" BorderBrush="{TemplateBinding BorderBrush}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Padding="12,12,12,12" Background="{TemplateBinding Background}">
            <ContentPresenter />
        </Border>
    </ControlTemplate>
    <DataTemplate x:Key="rowDetailTemplate">
        <StackPanel Orientation="Vertical">
            <dx:MeasurePixelSnapper>
                <ContentPresenter x:Name="defaultRowPresenter" Content="{Binding}" ContentTemplate="{Binding View.DefaultDataRowTemplate}" />
            </dx:MeasurePixelSnapper>
            <dxg:RowDetailContainerControl Template="{StaticResource detailContainerTemplate}" Content="{Binding}" ContentTemplate="{StaticResource DetailCoreTemplate}" />
        </StackPanel>
    </DataTemplate>
    <DataTemplate x:Key="expandableRowDetailTemplate">
        <StackPanel Orientation="Vertical">
            <dx:MeasurePixelSnapper>
                <ContentPresenter x:Name="defaultRowPresenter" Content="{Binding}" ContentTemplate="{Binding View.DefaultDataRowTemplate}" />
            </dx:MeasurePixelSnapper>
            <dx:DXExpander IsExpanded="{Binding Path=IsSelected}" HorizontalExpand="None" VerticalExpand="FromTopToBottom">
                <dxg:RowDetailContainerControl Template="{StaticResource detailContainerTemplate}" Content="{Binding}" ContentTemplate="{StaticResource DetailCoreTemplate}" />
            </dx:DXExpander>
        </StackPanel>
    </DataTemplate>
    <DataTemplate x:Key="rowToolTipTemplate">
        <ContentPresenter Content="{Binding}" ContentTemplate="{Binding View.DefaultDataRowTemplate}">

            <ToolTipService.ToolTip>
                            <ContentPresenter Content="{Binding}" ContentTemplate="{StaticResource DetailCoreTemplate}" Tag="Transparent" MaxWidth="600" />
                        </ToolTipService.ToolTip>
        </ContentPresenter>
    </DataTemplate>
</ResourceDictionary>!�using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using DevExpress.Xpf.Grid;

namespace GridDemo {
    public class ListColumn {
        public ListColumn(ColumnBase column) {
            this.Column = column;
            HeaderCaption = column.HeaderCaption.ToString();
        }
        public ColumnBase Column { get; private set; }
        public string HeaderCaption { get; private set; }
        public static IList<ListColumn> CreateCollection(GridColumnCollection gridColumns) {
            var collection = new ObservableCollection<ListColumn>(gridColumns.Select(col => new ListColumn(col)));
            return new ReadOnlyObservableCollection<ListColumn>(collection);
        }
    }
}!<ResourceDictionary 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:local="clr-namespace:GridDemo">

    <local:ShowSearchPanelModeToTextConverter x:Key="ShowSearchPanelModeToTextConverter" />
    <local:FindModeToTextConverter x:Key="FindModeToTextConverter" />
    <dx:IntToBooleanConverter x:Key="IntToBooleanConverter" />
    <dx:IntToBooleanConverter x:Key="IntToBooleanConverterInvert" Invert="True" />
    <dx:BoolToVisibilityConverter x:Key="boolToVisibilityConverter" />
    <dx:BoolToVisibilityInverseConverter x:Key="boolToVisibilityInverseConverter" />
    <local:SearchPanelModeConverter x:Key="SearchPanelModeConverter" />

    <DataTemplate x:Key="showSearchPanelContentTemplate">
        <TextBlock Text="{Binding Converter={StaticResource ShowSearchPanelModeToTextConverter}}" />
    </DataTemplate>

    <DataTemplate x:Key="findModeTemplate">
        <TextBlock Text="{Binding Converter={StaticResource FindModeToTextConverter}}" />
    </DataTemplate>
</ResourceDictionary>!�	using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Windows.Input;
using DevExpress.Xpf.Core.Commands;
using DevExpress.Xpf.DemoBase.Helpers;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Grid;

namespace GridDemo {
    public class GridSearchPanelViewModel : DemoViewModelBase {
        ICommand selectAllItemsCommand;
        IList<ListColumn> columns;
        DataViewBase view;
        public DataViewBase View {
            get { return this.view; }
            set { ChangeProperty(ref this.view, value, "View"); }
        }
        public IList<ListColumn> Columns {
            get { return this.columns; }
            set { ChangeProperty(ref this.columns, value, "Columns"); }
        }
        public ICommand SelectAllItemsCommand {
            get { return this.selectAllItemsCommand; }
            set { ChangeProperty(ref this.selectAllItemsCommand, value, "SelectAllItemsCommand"); }
        }
        public ICommand ChangeAllowSearchPanelCommand { get; private set; }
        public ICommand ChangeSearchPanelVisibilityCommand { get; private set; }
        public ICommand PopulateColumnsCommand { get; private set; }
        public ChangeSelectionAction SelectAllAction { get { return ChangeSelectionAction.SelectAll; } }
        public GridSearchPanelViewModel() {
            ChangeAllowSearchPanelCommand = new DelegateCommand<ObservableCollection<object>>(UpdateAllowSearchPanel, CanUpdateAllowSearchPanel);
            ChangeSearchPanelVisibilityCommand = new DelegateCommand<bool>(ChangeSearchPanelVisibility);
            PopulateColumnsCommand = new DelegateCommand<GridColumnCollection>(PopulateColumns);
            Columns = new List<ListColumn>();
        }
        bool CanUpdateAllowSearchPanel(ObservableCollection<object> selection) {
            return selection != null;
        }
        void PopulateColumns(GridColumnCollection gridColumns) {
            Columns = ListColumn.CreateCollection(gridColumns);
        }
        void ChangeSearchPanelVisibility(bool args) {
            if((bool)args)
                View.Commands.ShowSearchPanel.Execute(false);
            else
                View.Commands.HideSearchPanel.Execute(null);
        }
        void UpdateAllowSearchPanel(ObservableCollection<object> selection) {
            foreach(var listColumn in Columns)
                listColumn.Column.AllowSearchPanel = selection.Contains(listColumn);
        }
    }
}!�using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.IO;
using System.Reflection;

namespace GridDemo {
    public abstract class LayoutSampleBase {
        readonly string description;
        public LayoutSampleBase(string description) {
            this.description = description;
        }
        public abstract Stream GetStream();
        public override string ToString() {
            return description;
        }
    }
    public class ResourceLayoutSample : LayoutSampleBase {
        readonly string resourcePath;
        public ResourceLayoutSample(string description, string resourcePath)
            : base(description) {
            this.resourcePath = resourcePath;
        }
        public override Stream GetStream() {
            return Assembly.GetExecutingAssembly().GetManifestResourceStream(resourcePath);
        }
    }
    public class MemoryStreamLayoutSample : LayoutSampleBase {
        readonly MemoryStream stream;
        public MemoryStreamLayoutSample(string description, MemoryStream stream)
            : base(description) {
            this.stream = stream;
        }
        public override Stream GetStream() {
            return stream;
        }
    }
}!�<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:GridDemo" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors">
    <dx:ImageDataConverter x:Key="ImageDataConverter" />
    <local:HeaderToImageConverter x:Key="HeaderToImageConverter" />
    <local:BooleanToDefaultBooleanConverter x:Key="booleanToDefaultBooleanConverter" />
    <local:CountriesData x:Key="CountriesData" />
    <Style x:Key="TextBlockStyle" TargetType="TextBlock">

        <Setter Property="VerticalAlignment" Value="Center" />
    </Style>
    <ControlTemplate x:Key="colCountryItemTemplate">
        <Grid Background="Transparent">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition />
            </Grid.ColumnDefinitions>
            <Image Margin="4,0,4,0" Source="{Binding Path=(dxe:BaseEdit.OwnerEdit).SelectedItem.Flag, Converter={StaticResource ImageDataConverter}}" Stretch="Uniform" Height="16" HorizontalAlignment="Left" VerticalAlignment="Center" />
            <TextBlock Style="{StaticResource TextBlockStyle}" Margin="4,0,0,0" Text="{Binding Path=(dxe:BaseEdit.OwnerEdit).SelectedItem.Name}" Grid.Column="1" />
        </Grid>
    </ControlTemplate>
    <DataTemplate x:Key="colCountryCellTemplate">
        <dxe:ComboBoxEdit x:Name="PART_Editor" ItemsSource="{Binding Path=DataSource, Source={StaticResource CountriesData}}" ValueMember="Name" IsTextEditable="False" DisplayTemplate="{StaticResource colCountryItemTemplate}" EditNonEditableTemplate="{StaticResource colCountryItemTemplate}">
            <dxe:ComboBoxEdit.ItemTemplate>
                <DataTemplate>
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="Auto" />
                            <ColumnDefinition />
                        </Grid.ColumnDefinitions>
                        <Image Margin="4,0,4,0" Source="{Binding Path=Flag, Converter={StaticResource ImageDataConverter}}" Stretch="Uniform" Height="16" HorizontalAlignment="Left" VerticalAlignment="Center" />
                        <TextBlock Style="{StaticResource TextBlockStyle}" Margin="4,0,0,0" Text="{Binding Path=Name}" Grid.Column="1" />
                    </Grid>
                </DataTemplate>
            </dxe:ComboBoxEdit.ItemTemplate>
        </dxe:ComboBoxEdit>
    </DataTemplate>
    <DataTemplate x:Key="ColumnHeaderTemplate">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition />
            </Grid.ColumnDefinitions>
            <Image Source="{Binding Converter={StaticResource HeaderToImageConverter}}" Stretch="None" VerticalAlignment="Center" dxb:BarItem.UseAsBarItemGlyph="True" Margin="0,0,4,0" />
            <TextBlock x:Name="tbPhone" Style="{StaticResource TextBlockStyle}" Text="{Binding}" Grid.Column="1" />
        </Grid>
    </DataTemplate>
</ResourceDictionary>!using System;
using System.Collections.Generic;
using System.Globalization;
using System.Windows.Data;
using DevExpress.Xpf.Grid;

namespace GridDemo {
    public class NavigationStyleList : List<GridViewNavigationStyle> { }
    #region Converters
    public class NavigationStyleToIsEnabledConverter : IValueConverter {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture) {
            if(value == null)
                return true;
            return ((GridViewNavigationStyle)value) != GridViewNavigationStyle.Row;
        }
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) {
            throw new NotImplementedException();
        }
    }
    public class ShowTreeListLinesConverter : IValueConverter {
        #region IValueConverter Members
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture) {
            return (TreeListLineStyle)value != TreeListLineStyle.None;
        }
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) {
            return (bool)value ? TreeListLineStyle.Solid : TreeListLineStyle.None;
        }
        #endregion
    }
    #endregion
}!�<ResourceDictionary 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:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:local="clr-namespace:GridDemo">

    <local:ShowTreeListLinesConverter x:Key="showTreeLinesConverter" />
    <local:NavigationStyleToIsEnabledConverter x:Key="navigationStyleToIsEnabledConverter" />
    <dxe:BytesToImageSourceConverter x:Key="imageConverter" />
    <dx:BoolToObjectConverter x:Key="ShowColumnChooserButtonContentConverter" TrueValue="Hide Column Chooser" FalseValue="Show Column Chooser" />

    <DataTemplate x:Key="photoTemplate">
        <Image Stretch="UniformToFill" Height="74" Width="60" Source="{Binding Path=Value, Converter={StaticResource imageConverter}}" />
    </DataTemplate>
</ResourceDictionary>!�using System;
using System.Windows;
using System.Windows.Controls;
using DevExpress.Xpf.Grid;

namespace GridDemo {
    public class TotalCellTemplateSelector : DataTemplateSelector {
        public override DataTemplate SelectTemplate(object item, DependencyObject container) {
            GridCellData cellData = item as GridCellData;
            if(cellData != null) {
                try {
                    decimal value = Convert.ToDecimal(cellData.Value);
                    if(value >= 500) return TotalCellTemplate;
                } catch(FormatException) { }
            }
            return base.SelectTemplate(item, container);
        }
        public DataTemplate TotalCellTemplate { get; set; }
    }
}!H<ResourceDictionary 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:local="clr-namespace:GridDemo">

    <dxg:RowPropertyValueConverter x:Key="RowPropertyValueConverter" />

    <DataTemplate x:Key="totalCellTemplate1">
        <Border Background="#FFF9E9FF" Margin="0,0,-1,0" Padding="2, 2, 2, 1" IsHitTestVisible="True">
            <dx:DXDockPanel>
                <Path Name="arrow" dx:DXDockPanel.Dock="Left" Margin="0" Stretch="Fill" Fill="#FF000000" Data="F1 M 3.35616,0.740234L 3.35616,-7.40686L -3.35616,-7.40686L -3.35616,0.740234L -6.66667,0.740234L -1.65186e-006,7.40674L 6.66667,0.740234L 3.35616,0.740234 Z" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Left" VerticalAlignment="Center" Width="13" Height="15">
                    <Path.RenderTransform>
                        <TransformGroup>
                            <ScaleTransform x:Name="scale" CenterX="6" CenterY="0" ScaleX="{Binding Path=Data, Converter={StaticResource RowPropertyValueConverter}, ConverterParameter=TotalScale}" ScaleY="{Binding Path=Data, Converter={StaticResource RowPropertyValueConverter}, ConverterParameter=TotalScale}" />
                            <RotateTransform Angle="-180" />
                            <TranslateTransform x:Name="ArrowDownTransform" X="1" Y="0" />
                        </TransformGroup>
                    </Path.RenderTransform>
                </Path>
                <TextBlock VerticalAlignment="Center" Foreground="Black" IsHitTestVisible="True" HorizontalAlignment="Right">
      <TextBlock.Text>
       <Binding Path="Value" StringFormat="$0.00" />
      </TextBlock.Text>
                </TextBlock>
                <dx:DXDockPanel.Triggers>
                    <EventTrigger RoutedEvent="FrameworkElement.Loaded">
                        <BeginStoryboard>
                            <BeginStoryboard.Storyboard>
                                <Storyboard>
                                    <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="ArrowDownTransform" Storyboard.TargetProperty="Y" RepeatBehavior="Forever">
                                        <SplineDoubleKeyFrame KeyTime="00:00:00" Value="0" />
                                        <SplineDoubleKeyFrame KeyTime="00:00:00.5000000" Value="-1.5" />
                                        <SplineDoubleKeyFrame KeyTime="00:00:01" Value="0" />
                                    </DoubleAnimationUsingKeyFrames>
                                </Storyboard>
                            </BeginStoryboard.Storyboard>
                        </BeginStoryboard>
                    </EventTrigger>
                </dx:DXDockPanel.Triggers>
            </dx:DXDockPanel>
        </Border>
    </DataTemplate>
    <local:TotalCellTemplateSelector x:Key="totalCellTemplateSelector" TotalCellTemplate="{StaticResource totalCellTemplate1}" />
</ResourceDictionary>!'using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Globalization;
using DevExpress.Xpf.Core;

namespace GridDemo {
    public abstract class DecimalValidationRule : ValidationRule {
        public override ValidationResult Validate(object value, CultureInfo cultureInfo) {
            if(!IsValueValid(Convert.ToDecimal(value))) {
                return new ValidationResult(false, ErrorText);
            }
            return ValidationResult.ValidResult;
        }
        [System.ComponentModel.TypeConverter(typeof(DecimalConverter))]
        public decimal Value { get; set; }
        protected abstract string ErrorText { get; }
        protected abstract bool IsValueValid(decimal value);
    }
    public class IsGreaterThanValidationRule : DecimalValidationRule {
        protected override string ErrorText {
            get { return "The value must be greater than " + Value; }
        }
        public override string ToString() {
            return "is greater than " + Value;
        }
        protected override bool IsValueValid(decimal value) {
            return value > this.Value;
        }
    }
    public class IsGreaterThanOrEqualToValidationRule : DecimalValidationRule {
        protected override string ErrorText {
            get { return "The value must be greater than or equal to " + Value; }
        }
        public override string ToString() {
            return "is greater than or equal to " + Value;
        }
        protected override bool IsValueValid(decimal value) {
            return value >= this.Value;
        }
    }
    public class IsLessThanValidationRule : DecimalValidationRule {
        protected override string ErrorText {
            get { return "The value must be less than " + Value; }
        }
        public override string ToString() {
            return "is less than " + Value;
        }
        protected override bool IsValueValid(decimal value) {
            return value < this.Value;
        }
    }
    public class IsLessThanOrEqualToValidationRule : DecimalValidationRule {
        protected override string ErrorText {
            get { return "The value must be less than or equal to " + Value; }
        }
        public override string ToString() {
            return "is less than or equal to " + Value;
        }
        protected override bool IsValueValid(decimal value) {
            return value <= this.Value;
        }
    }
    public class DoesNotEqualValidationRule : DecimalValidationRule {
        protected override string ErrorText {
            get { return "The value must be not equal " + Value; }
        }
        public override string ToString() {
            return "does not equal " + Value;
        }
        protected override bool IsValueValid(decimal value) {
            return !object.Equals(value, this.Value);
        }
    }

    public abstract class ValidationRule {
        public abstract ValidationResult Validate(object value, CultureInfo cultureInfo);
    }
    public class ValidationResult {
        readonly bool _isValid;
        readonly object _errorContent;
        static readonly ValidationResult _validResult = new ValidationResult(true, null);
        public ValidationResult(bool isValid, object errorContent) {
            this._isValid = isValid;
            this._errorContent = errorContent;
        }
        public bool IsValid { get { return _isValid; } }
        public object ErrorContent { get { return _errorContent; } }
        public static ValidationResult ValidResult { get { return _validResult; } }
    }
}!�<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid">

    <dxe:BytesToImageSourceConverter x:Key="imageConverter" />
    <DataTemplate x:Key="ColumnTemplate">
        <ContentControl>
            <dxg:GridColumn FieldName="{Binding FieldName}" EditSettings="{Binding EditSettings}" Width="{Binding Width}" FixedWidth="{Binding FixedWidth}" Header="{Binding Header}" />
        </ContentControl>
    </DataTemplate>

</ResourceDictionary>!�using DevExpress.Xpf.DemoBase.Helpers;

namespace GridDemo {
    public class VerticalScrollingOptionsViewModel : DemoViewModelBase {
        public VerticalScrollingOptionsViewModel() {
        }
        GridControlDefinition selectedDefinition;
        public GridControlDefinition SelectedDefinition {
            get { return selectedDefinition; }
            set {
                if(selectedDefinition == value)
                    return;
                selectedDefinition = value;
                OnPropertyChanged("SelectedDefinition");
            }
        }
        GridControlDefinitionCollection controlDefinitions;
        public GridControlDefinitionCollection ControlDefinitions {
            get { return controlDefinitions; }
            set {
                controlDefinitions = value;
                if(ControlDefinitions != null && ControlDefinitions.Count > 0)
                    SelectedDefinition = ControlDefinitions[0];
            }
        }
    }
}!�<ResourceDictionary 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:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:local="clr-namespace:GridDemo">

    <local:IssueStatusImageConverter x:Key="IssueStatusImageConverter" />
    <local:BooleanToDefaultBooleanConverter x:Key="BooleanToDefaultBooleanConverter" />
    <local:IdToUriConverter x:Key="IdToUriConverter" />
    <dx:DurationToDoubleConverter x:Key="DurationToDoubleConverter" />
    <dx:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />

    <DataTemplate x:Key="idTemplate">

         <HyperlinkButton HorizontalAlignment="Center" NavigateUri="{Binding Path=Value, Converter={StaticResource IdToUriConverter}}" Content="{Binding Path=Value}" />
    </DataTemplate>
    <DataTemplate x:Key="statusTemplate">
        <Image Height="16" Width="16" HorizontalAlignment="Center" ToolTipService.ToolTip="{Binding Path=Value}" Source="{Binding Path=Value, Converter={StaticResource IssueStatusImageConverter}}">

        </Image>
    </DataTemplate>
</ResourceDictionary>!�using System;
using DevExpress.Xpf.DemoBase.Helpers;
using System.Windows.Input;
using DevExpress.Xpf.Core.Commands;
using System.Diagnostics;

namespace GridDemo {
    public class WCFInstantFeedbackViewModel : DemoViewModelBase {
        bool isUseExtendedDataQuery;
        WcfSCService.SCEntities wcfSCService;

        public bool IsUseExtendedDataQuery {
            get { return isUseExtendedDataQuery; }
            set {
                if(isUseExtendedDataQuery == value)
                    return;
                isUseExtendedDataQuery = value;
                OnPropertyChanged("IsUseExtendedDataQuery");
            }
        }
        public WcfSCService.SCEntities WcfSCService {
            get { return wcfSCService; }
            set {
                if(wcfSCService == value)
                    return;
                wcfSCService = value;
                OnPropertyChanged("WcfSCService");
            }
        }
        public WCFInstantFeedbackViewModel() {
            IsUseExtendedDataQuery = true;
            WcfSCService = new WcfSCService.SCEntities(new Uri("http://demos.devexpress.com/Services/WcfLinqSC/WcfSCService.svc/"));
        }
    }
}!�using System;
using System.Windows.Input;
using DevExpress.Xpo;

namespace GridDemo {
    [Persistent("dbo.SCIssuesDemo")]
    public class Question : XPLiteObject {
        [Key(true)]
        public Guid Oid { get; set; }
        public string Id { get; set; }
        public string Subject { get; set; }
        public DateTime ModifiedOn { get; set; }
        public DateTime CreatedOn { get; set; }
        public string ProductName { get; set; }
        public string TechnologyName { get; set; }
        public bool Urgent { get; set; }
        public string Status { get; set; }
        public Question(Session session) : base(session) { }
        public Question() : base(Session.DefaultSession) { }
    }
}!F<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:local="clr-namespace:GridDemo">

    <dx:DurationToDoubleConverter x:Key="DurationToDoubleConverter" />
    <dx:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
    <local:IssueStatusImageConverter x:Key="IssueStatusImageConverter" />
    <local:IdToUriConverter x:Key="IdToUriConverter" />
    <Style x:Key="CustomWaitIndicatorStyle" TargetType="dx:WaitIndicator">
        <Setter Property="HorizontalAlignment" Value="Right" />
        <Setter Property="VerticalAlignment" Value="Bottom" />
    </Style>
    <DataTemplate x:Key="idTemplate">

         <HyperlinkButton HorizontalAlignment="Center" NavigateUri="{Binding Path=Value, Converter={StaticResource IdToUriConverter}}" Content="{Binding Path=Value}" />
    </DataTemplate>
    <DataTemplate x:Key="statusTemplate">
        <Image Height="16" Width="16" HorizontalAlignment="Center" ToolTipService.ToolTip="{Binding Path=Value}" Source="{Binding Path=Value, Converter={StaticResource IssueStatusImageConverter}}">

        </Image>
    </DataTemplate>
</ResourceDictionary>!2<local:GridDemoModule x:Class="GridDemo.AutoFilterRow" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" xmlns:local="clr-namespace:GridDemo" 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008">
    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/Themes/generic.SL.xaml" />
                <ResourceDictionary Source="/GridDemo;component/ModuleResources/AutoFilterRowTemplates.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
            <local:DemoDataProvider x:Key="DemoDataProvider" />
        </ResourceDictionary>
    </local:GridDemoModule.Resources>

    <dxdb:DemoModuleControl SupressGroupFramePaddingInOptions="False">
        <dxdb:DemoModuleControl.OptionsContent>
            <dxe:CheckEdit Content="Show Auto Filter Row" IsChecked="{Binding Path=View.ShowAutoFilterRow, Mode=TwoWay}" VerticalAlignment="Top" />
        </dxdb:DemoModuleControl.OptionsContent>

        <dxg:GridControl x:Name="grid" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" DesignTimeDataObjectType="local:OutlookData">
            <dxg:GridControl.View>
                <dxg:TableView ShowGroupedColumns="True" ShowAutoFilterRow="True" x:Name="gridView" AllowEditing="True" AutoWidth="True" ColumnHeaderCustomizationAreaTemplate="{StaticResource columnOptionsTemplate}" />
            </dxg:GridControl.View>
            <dxg:GridControl.Columns>
                <dxg:GridColumn FieldName="OID" Header="Id" MinWidth="50" Width="50" ReadOnly="true" />
                <dxg:GridColumn Name="colPriority" FieldName="Priority" SortMode="Value" MinWidth="40" Width="40" ColumnFilterMode="DisplayText" />
                <dxg:GridColumn FieldName="From" MinWidth="100" Width="100" />

                <dxg:GridColumn FieldName="UserId" Header="To" MinWidth="100" Width="100" AutoFilterCondition="Equals">

                    <dxg:GridColumn.EditSettings>
                        <dxe:ComboBoxEditSettings IsTextEditable="False" ValueMember="Id" DisplayMember="Name" ItemsSource="{Binding Users, Source={StaticResource DemoDataProvider}}" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn FieldName="Sent" MinWidth="100" Width="100" GroupInterval="DateRange" AutoFilterCondition="Equals">
                    <dxg:GridColumn.EditSettings>
                        <dxe:DateEditSettings DisplayFormat="d" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn x:Name="colHoursActive" FieldName="HoursActive" MinWidth="70" Width="70" AutoFilterCondition="Like" />
                <dxg:GridColumn x:Name="colHasAttachment" FieldName="HasAttachment" MinWidth="50" Width="50" AutoFilterCondition="Equals" />
            </dxg:GridControl.Columns>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!using System;
using System.Windows;
using System.Windows.Data;
using GridDemo;
using DevExpress.Xpf.Editors.Settings;
using DevExpress.Data.Mask;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.DemoBase;

namespace GridDemo {
    [CodeFile("ModuleResources/AutoFilterRowTemplates(.SL).xaml")]
    [CodeFile("ModuleResources/AutoFilterRowClasses.(cs)")]
 public partial class AutoFilterRow : GridDemoModule {
  public AutoFilterRow() {
   InitializeComponent();
   grid.ItemsSource = OutlookDataGenerator.CreateOutlookDataTable(1000);
            ComboBoxEditSettings settings = new ComboBoxEditSettings() { IsTextEditable = false };
            settings.ItemsSource = EnumHelper.GetValues(typeof(Priority));
            colPriority.EditSettings = settings;
  }
 }
}!�<local:GridDemoModule x:Class="GridDemo.BandedView" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" xmlns:local="clr-namespace:GridDemo" 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity">

    <dxdb:DemoModuleControl>
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel>
                <dx:GroupFrame Header="Bands Layout Options" Margin="0,0,0,12">
                    <StackPanel>
                        <dxe:CheckEdit x:Name="showBandsPanelCheckEdit" Content="Show Bands Panel" IsChecked="{Binding Path=View.ShowBandsPanel, Mode=TwoWay}" Margin="0,0,0,4" />
                        <dxe:CheckEdit x:Name="allowChangeColumnParentCheckEdit" Content="Allow Change Column Parent" IsChecked="{Binding Path=View.AllowChangeColumnParent, Mode=TwoWay}" Margin="0,0,0,4" />
                        <dxe:CheckEdit x:Name="allowChangeBandParentCheckEdit" Content="Allow Change Band Parent" IsChecked="{Binding Path=View.AllowChangeBandParent, Mode=TwoWay}" Margin="0,0,0,4" />
                        <dxe:CheckEdit x:Name="showBandsInCustomizationFormCheckEdit" Content="Show Bands In Customization Form" IsChecked="{Binding Path=View.ShowBandsInCustomizationForm, Mode=TwoWay}" Margin="0,0,0,4" />
                        <dxe:CheckEdit x:Name="allowBandMovingCheckEdit" Content="Allow Band Moving" IsChecked="{Binding Path=View.AllowBandMoving, Mode=TwoWay}" Margin="0,0,0,4" />
                        <dxe:CheckEdit x:Name="allowBandResizingCheckEdit" Content="Allow Band Resizing" IsChecked="{Binding Path=View.AllowBandResizing, Mode=TwoWay}" Margin="0,0,0,4" />
                    </StackPanel>
                </dx:GroupFrame>
                <dx:GroupFrame Header="Table View Options" Margin="0,0,0,12">
                    <StackPanel>
                        <dxe:CheckEdit x:Name="autoWidthCheckEdit" Content="Auto Width" IsChecked="{Binding Path=View.AutoWidth, Mode=TwoWay}" Margin="0,0,0,4" />
                        <dxe:CheckEdit x:Name="allowPerPixelScrollingCheckEdit" Content="Allow Per Pixel Scrolling" IsChecked="{Binding Path=View.AllowPerPixelScrolling, Mode=TwoWay}" Margin="0,0,0,4" />
                        <dxe:CheckEdit x:Name="showAutoFilterRowCheckEdit" Content="Show Auto Filter Row" IsChecked="{Binding Path=View.ShowAutoFilterRow, Mode=TwoWay}" Margin="0,0,0,4" />
                        <dxe:CheckEdit x:Name="allowMovingCheckEdit" Content="Allow Moving" IsChecked="{Binding Path=View.AllowColumnMoving, Mode=TwoWay}" Margin="0,0,0,4" />
                        <dxe:CheckEdit x:Name="allowResizingCheckEdit" Content="Allow Resizing" IsChecked="{Binding Path=View.AllowResizing, Mode=TwoWay}" Margin="0,0,0,4" />
                    </StackPanel>
                </dx:GroupFrame>
            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl x:Name="grid">
            <dxg:GridControl.Bands>
                <dxg:GridControlBand Header="Main">
                    <dxg:GridColumn FieldName="Trademark" />
                    <dxg:GridColumn FieldName="Category" dxg:BandBase.GridRow="1" dxg:BandBase.GridColumn="0" />
                    <dxg:GridColumn FieldName="Model" dxg:BandBase.GridRow="1" dxg:BandBase.GridColumn="1">
                        <dxg:GridColumn.EditSettings>
                            <dxe:TextEditSettings />
                        </dxg:GridColumn.EditSettings>
                    </dxg:GridColumn>
                    <dxg:GridColumn FieldName="Price" dxg:BandBase.GridRow="2" dxg:BandBase.GridColumn="0">
                        <dxg:GridColumn.EditSettings>
                            <dxe:TextEditSettings MaskType="Numeric" MaskUseAsDisplayFormat="True" Mask="c" MaskCulture="en-US" />
                        </dxg:GridColumn.EditSettings>
                    </dxg:GridColumn>
                    <dxg:GridColumn FieldName="DeliveryDate" Header="Delivery Date" dxg:BandBase.GridRow="2" dxg:BandBase.GridColumn="1" />
                    <dxg:GridColumn FieldName="IsInStock" Header="In Stock?" dxg:BandBase.GridRow="2" dxg:BandBase.GridColumn="2" />
                </dxg:GridControlBand>
                <dxg:GridControlBand Header="Perfomance Attributes">
                    <dxg:GridColumn FieldName="HP" />
                    <dxg:GridColumn FieldName="Cyl" dxg:BandBase.GridRow="1" />
                    <dxg:GridColumn FieldName="Liter" Header="Capacity" dxg:BandBase.GridRow="1" />
                    <dxg:GridColumn FieldName="TransmissSpeedCount" Header="# of Gears" dxg:BandBase.GridRow="2" />
                    <dxg:GridColumn FieldName="TransmissAutomatic" Header="Automatic Transmission" dxg:BandBase.GridRow="2" />
                </dxg:GridControlBand>
                <dxg:GridControlBand Header="Picture">
                    <dxg:GridColumn FieldName="ImageSource" Header="Icon">
                        <dxg:GridColumn.CellTemplate>
                            <DataTemplate>
                                <dxe:ImageEdit Height="55" Stretch="Uniform" Source="{Binding Path=Value}" HorizontalAlignment="Center" Margin="0,3,0,3" ShowMenu="False" />
                            </DataTemplate>
                        </dxg:GridColumn.CellTemplate>
                    </dxg:GridColumn>
                </dxg:GridControlBand>
            </dxg:GridControl.Bands>
            <dxg:GridControl.View>
                <dxg:TableView AutoWidth="True" AllowPerPixelScrolling="True" ShowAutoFilterRow="False" AllowChangeBandParent="True" AllowChangeColumnParent="True" />
            </dxg:GridControl.View>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!�using System;
using System.Windows;
using System.Windows.Data;
using GridDemo;
using DevExpress.Xpf.Editors.Settings;
using DevExpress.Data.Mask;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.DemoBase.DataClasses;

namespace GridDemo {
 public partial class BandedView : GridDemoModule {
  public BandedView() {
   InitializeComponent();
            grid.ItemsSource = CarsData.NewDataSource;
  }
 }
}!r<local:GridDemoModule x:Class="GridDemo.BindingToDynamicObject" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:local="clr-namespace:GridDemo" 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008">
    <local:GridDemoModule.Resources>
        <local:StringStateToBoolConverter x:Key="StringStateToBoolConverter" />
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl SupressGroupFramePaddingInOptions="False">
        <dxdb:DemoModuleControl.OptionsContent>
            <Grid>
                <StackPanel MinWidth="180" MaxWidth="230" x:Name="optionsPanel">
                    <TextBlock Margin="0,0,0,3" Text="New column field name:" />

                    <dxe:TextEdit x:Name="FieldNameBox" ValidateOnTextInput="True" MaskType="RegEx" Mask="[a-zA-Z_]\w*" Margin="0,0,0,5" NullText="Enter new column name here..." NullValue="New Column" Text="{Binding ColumnName, Mode=TwoWay}" Validate="FieldNameBox_Validate" />

                    <TextBlock Margin="0,0,0,3" Text="New column type:" />
                    <dxe:ComboBoxEdit x:Name="TypeBox" Margin="0,0,0,12" SelectedIndex="{Binding TypeIndex, Mode=TwoWay}" Foreground="Black" IsTextEditable="False">
                        <dxe:ComboBoxEdit.Items>
                            <dxe:ComboBoxEditItem Content="Integer" />
                            <dxe:ComboBoxEditItem Content="String" />
                            <dxe:ComboBoxEditItem Content="DateTime" />
                            <dxe:ComboBoxEditItem Content="Boolean" />
                        </dxe:ComboBoxEdit.Items>
                    </dxe:ComboBoxEdit>
                    <TextBlock Margin="0,0,0,3" Text="New column default value:" />
                    <dxe:SpinEdit x:Name="DefaultValueBoxSpin" Margin="0,0,0,12" Value="0" IsFloatValue="False">
                        <dxe:SpinEdit.Visibility>
                            <Binding Path="TypeIndex">
                                <Binding.Converter>
                                    <dx:EnumToObjectConverter DefaultValue="Collapsed">
                                        <dx:EnumToObjectConverter.Values>
                                            <dx:EnumObjectProvider x:Key="0" Value="Visible" />
                                        </dx:EnumToObjectConverter.Values>
                                    </dx:EnumToObjectConverter>
                                </Binding.Converter>
                            </Binding>
                        </dxe:SpinEdit.Visibility>
                    </dxe:SpinEdit>
                    <dxe:TextEdit x:Name="DefaultValueBoxText" Margin="0,0,0,12" NullText="Enter new column value here...">
                        <dxe:TextEdit.Visibility>
                            <Binding Path="TypeIndex">
                                <Binding.Converter>
                                    <dx:EnumToObjectConverter DefaultValue="Collapsed">
                                        <dx:EnumToObjectConverter.Values>
                                            <dx:EnumObjectProvider x:Key="1" Value="Visible" />
                                        </dx:EnumToObjectConverter.Values>
                                    </dx:EnumToObjectConverter>
                                </Binding.Converter>
                            </Binding>
                        </dxe:TextEdit.Visibility>
                    </dxe:TextEdit>
                    <dxe:DateEdit x:Name="DefaultValueBoxDate" Margin="0,0,0,12" Foreground="Black">
                        <dxe:DateEdit.Visibility>
                            <Binding Path="TypeIndex">
                                <Binding.Converter>
                                    <dx:EnumToObjectConverter DefaultValue="Collapsed">
                                        <dx:EnumToObjectConverter.Values>
                                            <dx:EnumObjectProvider x:Key="2" Value="Visible" />
                                        </dx:EnumToObjectConverter.Values>
                                    </dx:EnumToObjectConverter>
                                </Binding.Converter>
                            </Binding>
                        </dxe:DateEdit.Visibility>
                    </dxe:DateEdit>
                    <dxe:CheckEdit x:Name="DefaultValueBoxCheck" Margin="0,0,0,12" IsChecked="True" HorizontalAlignment="Center">
                        <dxe:CheckEdit.Visibility>
                            <Binding Path="TypeIndex">
                                <Binding.Converter>
                                    <dx:EnumToObjectConverter DefaultValue="Collapsed">
                                        <dx:EnumToObjectConverter.Values>
                                            <dx:EnumObjectProvider x:Key="3" Value="Visible" />
                                        </dx:EnumToObjectConverter.Values>
                                    </dx:EnumToObjectConverter>
                                </Binding.Converter>
                            </Binding>
                        </dxe:CheckEdit.Visibility>
                    </dxe:CheckEdit>
                    <Button x:Name="CreateNewColBtn" Margin="0,0,0,12" Content="Create new column" Click="CreateNewColBtn_Click" IsEnabled="{Binding Path=ColumnName, Converter={StaticResource StringStateToBoolConverter}}" />
                </StackPanel>
            </Grid>
        </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl x:Name="grid">
            <dxg:GridControl.Columns>


                <dxg:GridColumn FieldName="Id" Header="Id" UnboundType="Integer" />
                <dxg:GridColumn FieldName="FirstName" Header="First Name" UnboundType="String" />
                <dxg:GridColumn FieldName="LastName" Header="Last Name" UnboundType="String" />

            </dxg:GridControl.Columns>
            <dxg:GridControl.View>
                <dxg:TableView Name="View" ShowAutoFilterRow="True" NewItemRowPosition="Top" AllowPerPixelScrolling="True" />
            </dxg:GridControl.View>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!?using System;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Data;
using DevExpress.Xpf.Grid;
using System.Dynamic;
using System.Collections.ObjectModel;
using DevExpress.Data;
using System.ComponentModel;
using DevExpress.Xpf.DemoBase;

namespace GridDemo {
    [CodeFile("ModuleResources/BindingToDynamicObjectClasses.(cs)")]
    public partial class BindingToDynamicObject : GridDemoModule {
        static string[] FirstNames = new string[] { "Anne", "Bob", "Michael", "Mike", "Bryan", "Steve", "Alex", "Don", "David", "Sandra", "Samantha", "Jim", "Jo" };
        static string[] LastNames = new string[] { "Dodsworth", "Smith", "Miller", "Vargas", "Mares", "Ralls", "Seamans", "Myer", "Moreland", "Walton", "Masters", "Berry", "Hines" };
        static Random rnd = new Random();
        DynamicBindingList list = new DynamicBindingList();
        public BindingToDynamicObject() {
            InitializeComponent();
            optionsPanel.DataContext = new NewColumnModel();
            for(int i = 0; i < 50; i++) {
                DynamicDictionary dictionary = new DynamicDictionary();
                dictionary.SetValue("Id", i);
                dictionary.SetValue("FirstName", FirstNames[rnd.Next(0, FirstNames.Length)]);
                dictionary.SetValue("LastName", LastNames[rnd.Next(0, LastNames.Length)]);
                list.Add(dictionary);
            }
            grid.ItemsSource = list;
            grid.CustomUnboundColumnData += grid_CustomUnboundColumnData;
        }
        void grid_CustomUnboundColumnData(object sender, GridColumnDataEventArgs e) {
            if(e.IsGetData) {
                e.Value = list[e.ListSourceRowIndex].GetValue(e.Column.FieldName);
            }
            else {
                list[e.ListSourceRowIndex].SetValue(e.Column.FieldName, e.Value);
            }

        }
        private void CreateNewColBtn_Click(object sender, RoutedEventArgs e) {
            CreateNewColumn();
            FieldNameBox.Text = "";
        }

        void CreateNewColumn() {
            string fieldName = FieldNameBox.Text;
            for(int i = 0; i < list.Count; i++) {
                ((DynamicDictionary)list[i]).SetValue(fieldName, GetDefaultValue());
            }
            GridColumn column = new GridColumn();
            column.UnboundType = GetNewColunUnboundType();
            column.FieldName = fieldName;
            column.Header = fieldName;
            grid.Columns.Add(column);
        }

        private object GetDefaultValue() {
            switch(TypeBox.SelectedIndex) {
                case 0: return ((int)DefaultValueBoxSpin.Value);
                case 1: return DefaultValueBoxText.Text;
                case 2: return DefaultValueBoxDate.DateTime;
                case 3: return DefaultValueBoxCheck.IsChecked;
            }
            return null;
        }

        private UnboundColumnType GetNewColunUnboundType() {
            switch(TypeBox.SelectedIndex) {
                case 0: return UnboundColumnType.Integer;
                case 1: return UnboundColumnType.String;
                case 2: return UnboundColumnType.DateTime;
                case 3: return UnboundColumnType.Boolean;
            }
            return UnboundColumnType.Object;
        }

        void FieldNameBox_Validate(object sender, DevExpress.Xpf.Editors.ValidationEventArgs e) {
            object value = e.Value;
            if(value != null) {
                if(!IsValidFieldName(value.ToString())) {
                    e.ErrorContent = "A column bound to the same field in the data source already exists.";
                    e.IsValid = false;
                    return;
                }
            }
        }
        bool IsValidFieldName(string name) {
            if(grid == null)
                return false;
            foreach(GridColumn column in grid.Columns) {
                string path = column.FieldName;
                if(path == name)
                    return false;
            }
            return true;
        }
    }
}!q<local:GridDemoModule x:Class="GridDemo.BindingToXML" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:local="clr-namespace:GridDemo" 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008">
    <local:GridDemoModule.Resources>
        <local:XmlDateTimeConverter x:Key="XmlDateTimeConverter" />
        <local:XmlIntegerConverter x:Key="XmlIntegerConverter" />
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl>
        <Grid>
            <dxg:GridControl x:Name="grid">
                <dxg:GridControl.Columns>

                    <dxg:GridColumn Header="Id" Width="50" Binding="{Binding Path=RowData.Row[Id].Value, RelativeSource={RelativeSource Self}, Mode=TwoWay, Converter={StaticResource XmlIntegerConverter}}">
                        <dxg:GridColumn.EditSettings>
                            <dxe:SpinEditSettings IsFloatValue="False" />
                        </dxg:GridColumn.EditSettings>
                    </dxg:GridColumn>
                    <dxg:GridColumn Header="First Name" Binding="{Binding Path=RowData.Row[FirstName].Value, RelativeSource={RelativeSource Self}, Mode=TwoWay}">
                        <dxg:GridColumn.EditSettings>
                            <dxe:TextEditSettings NullValue="" />
                        </dxg:GridColumn.EditSettings>
                    </dxg:GridColumn>
                    <dxg:GridColumn Header="Last Name" Binding="{Binding Path=RowData.Row[LastName].Value, RelativeSource={RelativeSource Self}, Mode=TwoWay}">
                        <dxg:GridColumn.EditSettings>
                            <dxe:TextEditSettings NullValue="" />
                        </dxg:GridColumn.EditSettings>
                    </dxg:GridColumn>
                    <dxg:GridColumn Header="Job" Binding="{Binding Path=RowData.Row[JobTitle].Value, RelativeSource={RelativeSource Self}, Mode=TwoWay}">
                        <dxg:GridColumn.EditSettings>
                            <dxe:TextEditSettings NullValue="" />
                        </dxg:GridColumn.EditSettings>
                    </dxg:GridColumn>
                    <dxg:GridColumn Header="Email Address" Width="200" Binding="{Binding Path=RowData.Row[EmailAddress].Value, RelativeSource={RelativeSource Self}, Mode=TwoWay}">
                        <dxg:GridColumn.EditSettings>
                            <dxe:TextEditSettings NullValue="" />
                        </dxg:GridColumn.EditSettings>
                    </dxg:GridColumn>
                    <dxg:GridColumn Header="BirthDate" Width="100" Binding="{Binding Path=RowData.Row[BirthDate].Value, RelativeSource={RelativeSource Self}, Mode=TwoWay, Converter={StaticResource XmlDateTimeConverter}}">

                    </dxg:GridColumn>
                </dxg:GridControl.Columns>
                <dxg:GridControl.View>
                    <dxg:TableView AutoWidth="True" ShowAutoFilterRow="True" AllowPerPixelScrolling="True" />
                </dxg:GridControl.View>
            </dxg:GridControl>
        </Grid>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!Iusing System.Collections.Generic;
using System.IO;
using System.Reflection;
using System.Xml.Linq;
using DevExpress.Xpf.DemoBase.DataClasses;
using DevExpress.Xpf.DemoBase;
using System.Xml;

namespace GridDemo {
    [CodeFile("ModuleResources/BindingToXMLClasses.(cs)")]
    public partial class BindingToXML : GridDemoModule {
        public BindingToXML() {
            InitializeComponent();
            Assembly assembly = typeof(BindingToXML).Assembly;
            Stream stream = EmployeesWithPhotoData.GetDataStream();
            XDocument doc = XDocument.Load(stream);
            var employees = new List<Dictionary<string, object>>();
            foreach(XElement element in doc.Descendants("Employee")) {
                var employee = new Dictionary<string, object>();
                employee.Add("Id", element.Element("Id"));
                employee.Add("FirstName", element.Element("FirstName"));
                employee.Add("LastName", element.Element("LastName"));
                employee.Add("JobTitle", element.Element("JobTitle"));
                employee.Add("EmailAddress", element.Element("EmailAddress"));
                employee.Add("BirthDate", element.Element("BirthDate"));
                employees.Add(employee);
            }
            grid.ItemsSource = employees;
        }
    }
}!p
<local:GridDemoModule x:Class="GridDemo.CellsSelection" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:local="clr-namespace:GridDemo" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxgt="http://schemas.devexpress.com/winfx/2008/xaml/grid/themekeys" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008">
    <dxdb:DemoModuleControl SupressGroupFramePaddingInOptions="False">
        <dxdb:DemoModuleControl.OptionsTopText>
            Select cells by clicking them while holding the SHIFT or CTRL key down.
        </dxdb:DemoModuleControl.OptionsTopText>
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel>
                <dxe:CheckEdit x:Name="checkEdit" IsChecked="True" Content="Calculate summary for selected cells only" EditValueChanged="CheckEdit_EditValueChanged" />
                <dx:GroupFrame Header="Select cells" Margin="0,12,0,0">
                    <StackPanel>
                        <Button Content="20 Best Selling" Click="Button_Click" />
                        <Button Content="20 Worst Selling" Click="Button_Click_1" Margin="0,4,0,0" />
                    </StackPanel>
                </dx:GroupFrame>
            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl x:Name="grid" SelectionMode="Cell" AutoGenerateColumns="KeepOld" CustomSummary="grid_CustomSummary" SelectionChanged="TableView_SelectionChanged">
            <dxg:GridControl.View>
                <dxg:TableView x:Name="view" IndicatorWidth="110" ShowGroupPanel="False" ShowTotalSummary="True" IsTotalSummaryMenuEnabled="False">
                    <dxg:TableView.RowIndicatorContentTemplate>
                        <DataTemplate>
                            <dxe:TextEdit Text="{Binding Path=Row[Date], StringFormat=Y}" HorizontalAlignment="Right" EditMode="InplaceInactive" />
                        </DataTemplate>
                    </dxg:TableView.RowIndicatorContentTemplate>
                </dxg:TableView>
            </dxg:GridControl.View>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!�using System;
using System.Collections.Generic;
using System.Windows;
using GridDemo;
using System.Collections;
using System.Globalization;
using DevExpress.Data;
using DevExpress.Xpf.DemoBase;
using DevExpress.Xpf.Grid;
using DevExpress.Xpf.Editors.Settings;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.DemoBase.NWind;
using DevExpress.Data.Browsing;

namespace GridDemo {
    public partial class CellsSelection : GridDemoModule {
        public CellsSelection() {
            InitializeComponent();
            AssignDataSource();

            SelectCells();
        }

        void SelectCells() {
            grid.BeginSelection();
            int[,] selectedCells = new int[,] {
                {0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}, {6, 1}, {7, 1}, {6, 1},{6, 1}, {7, 1}, {8, 1}, {9, 1}, {10, 1},
                {0, 2}, {1, 2}, {2, 2}, {8, 2}, {9, 2}, {10, 2},
                {2, 3}, {3, 3}, {4, 3}, {5, 3}, {6, 3}, {7, 3}, {8, 3},

                {12, 1}, {13, 1}, {14, 1}, {15, 1}, {19, 1}, {20, 1},  {21, 1},  {22, 1},
                {14, 2}, {15, 2}, {16, 2}, {17, 2}, {18, 2}, {19, 2}, {20, 2},
                {12, 3}, {13, 3}, {14, 3}, {15, 3}, {19, 3}, {20, 3},  {21, 3},  {22, 3}
            };
            for(int i = 0; i < selectedCells.GetLength(0); i++)
                view.SelectCell(selectedCells[i, 0], view.VisibleColumns[selectedCells[i, 1]]);
            grid.EndSelection();
        }

        void AssignDataSource() {
            grid.ItemsSource = SalesByYearData.GetSalesByYearData();
            grid.Columns["Date"].Visible = false;
            grid.Columns["Date"].ShowInColumnChooser = false;
            foreach(GridColumn column in view.VisibleColumns) {
                grid.TotalSummary.Add(new GridSummaryItem() { FieldName = column.FieldName, SummaryType = DevExpress.Data.SummaryItemType.Custom, DisplayFormat = "${0:N}" });
                column.EditSettings = new SpinEditSettings() { MaskType = MaskType.Numeric, MaskUseAsDisplayFormat = true, Mask = "c", MaskCulture = new CultureInfo("en-US") };
            }
        }

        int sum = 0;
        void grid_CustomSummary(object sender, DevExpress.Data.CustomSummaryEventArgs e) {
            if(object.Equals(e.SummaryProcess, CustomSummaryProcess.Start)) {
                sum = 0;
            }
            if(e.SummaryProcess == CustomSummaryProcess.Calculate) {
                if(grid.View != null) {
                    if(!checkEdit.IsChecked.Value || view.IsCellSelected(e.RowHandle, grid.Columns[((GridSummaryItem)e.Item).FieldName])) {
                        if(e.FieldValue != DBNull.Value && e.FieldValue != null)
                            sum += (int)e.FieldValue;
                    }
                }
            }
            if(e.SummaryProcess == CustomSummaryProcess.Finalize)
                e.TotalValue = sum;
        }

        void TableView_SelectionChanged(object sender, DevExpress.Xpf.Grid.GridSelectionChangedEventArgs e) {
            grid.UpdateTotalSummary();
        }

        void CheckEdit_EditValueChanged(object sender, DevExpress.Xpf.Editors.EditValueChangedEventArgs e) {
            grid.UpdateTotalSummary();
        }

        void Button_Click(object sender, RoutedEventArgs e) {
            SelectCells(true);
        }
        void Button_Click_1(object sender, RoutedEventArgs e) {
            SelectCells(false);
        }

        void SelectCells(bool shouldSelectTopValues) {
            List<KeyValuePair<GridCell, int>> list = new List<KeyValuePair<GridCell, int>>();
            for(int i = 0; i < grid.VisibleRowCount; i++)
                for(int j = 0; j < view.VisibleColumns.Count; j++)
                    list.Add(new KeyValuePair<GridCell, int>(new GridCell(i, view.VisibleColumns[j]), (int)grid.GetCellValue(i, view.VisibleColumns[j])));
            list.Sort(delegate(KeyValuePair<GridCell, int> x, KeyValuePair<GridCell, int> y) {
                return Compare(x, y, shouldSelectTopValues);
            });

            grid.BeginSelection();
            view.DataControl.UnselectAll();
            for(int i = 0; i < Math.Min(20, list.Count); i++) {
                view.SelectCell(list[list.Count - i - 1].Key.RowHandle, list[list.Count - i - 1].Key.Column);
            }
            grid.EndSelection();
        }

        private static int Compare(KeyValuePair<GridCell, int> x, KeyValuePair<GridCell, int> y, bool shouldSelectTopValues) {
            if(shouldSelectTopValues)
                return Comparer<int>.Default.Compare(x.Value, y.Value);
            else
                return Comparer<int>.Default.Compare(y.Value, x.Value);
        }
    }
}!�
<local:GridDemoModule x:Class="GridDemo.CollectionView" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:local="clr-namespace:GridDemo" 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:controls="clr-namespace:DXDemo.Controls">
    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/ModuleResources/SharedResources.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <local:GridDemoModule.DataContext>
        <local:CollectionViewViewModel />
    </local:GridDemoModule.DataContext>
    <dxdb:DemoModuleControl>
        <dxdb:DemoModuleControl.OptionsContent>
            <Grid>
                <Grid DataContext="{Binding DataContext}">
                    <controls:CollectionViewNavigator x:Name="navigator" CurrentSortFieldName="JobTitle" CurrentGroupFieldName="JobTitle" CollectionView="{Binding CollectionView}" />
                </Grid>
            </Grid>
        </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl x:Name="grid" ItemsSource="{Binding CollectionView}">
            <dxg:GridControl.Columns>
                <dxg:GridColumn FieldName="JobTitle" />
                <dxg:GridColumn FieldName="FirstName" />
                <dxg:GridColumn FieldName="LastName" />
                <dxg:GridColumn FieldName="BirthDate" />
                <dxg:GridColumn Name="colCountry" FieldName="CountryRegionName" Header="Country" Width="130" CellTemplate="{StaticResource colCountryCellTemplate}" />
            </dxg:GridControl.Columns>
            <dxg:GridControl.View>
                <dxg:TableView Name="View" ShowGroupedColumns="True" IsSynchronizedWithCurrentItem="{Binding IsSynchronizedWithCurrentItem, ElementName=navigator}" AutoWidth="True" AllowPerPixelScrolling="True" ScrollAnimationDuration="0" ShowAutoFilterRow="True" NewItemRowPosition="Top" ShowTotalSummary="True" />
            </dxg:GridControl.View>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!�using DevExpress.Xpf.DemoBase;

namespace GridDemo {
    [CodeFile("Controls/CollectionViewNavigator.xaml")]
    [CodeFile("Controls/CollectionViewNavigator.xaml.(cs)")]
    [CodeFile("ModuleResources/CollectionViewViewModel.(cs)")]
    public partial class CollectionView : GridDemoModule {
        public CollectionView() {
            InitializeComponent();
        }
    }
}!�<local:GridDemoModule x:Class="GridDemo.ColumnChooser" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" xmlns:local="clr-namespace:GridDemo" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib" 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:dxet="http://schemas.devexpress.com/winfx/2008/xaml/editors/themekeys" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008">
    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/Themes/generic.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
            <local:GridColumnChooserToExpanderVisible x:Key="converterToExpanderVisible" />
            <dxdb:NWindDataLoader x:Key="NWindDataLoader" />
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl SupressGroupFramePaddingInOptions="False">
        <dxdb:DemoModuleControl.OptionsContent>
            <Grid MinWidth="185">
                <Grid.RowDefinitions>
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="Auto" />
                    <RowDefinition />
                </Grid.RowDefinitions>
                <ToggleButton Name="showHideButton" Grid.Row="0" Height="22" Checked="showHideButton_Toggle" Unchecked="showHideButton_Toggle" IsChecked="{Binding Path=GridControl.View.IsColumnChooserVisible, Mode=TwoWay}" />
                <dx:GroupFrame Grid.Row="1" Header="Select Column Chooser" Margin="0,12,0,0">
                    <dxe:ListBoxEdit x:Name="columnChooserTypesListBox" ShowBorder="False" SelectedItem="{Binding Path=ColumnChooserType, Mode=TwoWay}" Background="{x:Null}">
                        <dxe:ListBoxEdit.StyleSettings>
                            <dxe:RadioListBoxEditStyleSettings />
                        </dxe:ListBoxEdit.StyleSettings>
                        <dxe:ListBoxEdit.Items>
                            <local:ColumnChooserType>Default</local:ColumnChooserType>
                            <local:ColumnChooserType>Custom</local:ColumnChooserType>
                        </dxe:ListBoxEdit.Items>
                    </dxe:ListBoxEdit>
                </dx:GroupFrame>

                <dxdb:DemoExpander Grid.Row="2" x:Name="customColumnChooserExpander" Expanded="customColumnChooserExpander_Expanded" Collapsed="customColumnChooserExpander_Collapsed" Margin="0,12,0,0" Visibility="{Binding Path=SelectedItem, ElementName=columnChooserTypesListBox, Converter={StaticResource converterToExpanderVisible}}" IsExpanded="{Binding Path=IsChecked, ElementName=showHideButton, Mode=TwoWay}">

                        <Border Grid.Row="2" Background="White" CornerRadius="0" BorderBrush="Gray" BorderThickness="1">
                            <local:DemoColumnChooserControl View="{Binding GridControl.View}" x:Name="columnChooser" />
                        </Border>

                </dxdb:DemoExpander>

            </Grid>
        </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl Name="grid" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ItemsSource="{Binding Path=Customers, Source={StaticResource NWindDataLoader}}">
            <dxg:GridControl.View>
                <dxg:TableView NavigationStyle="Row" x:Name="gridView" AutoWidth="True" AllowPerPixelScrolling="True" />
            </dxg:GridControl.View>
            <dxg:GridControl.Columns>
                <dxg:GridColumn FieldName="CompanyName" Width="230" />
                <dxg:GridColumn FieldName="ContactName" Width="150" />
                <dxg:GridColumn FieldName="ContactTitle" Width="150" />
                <dxg:GridColumn FieldName="CustomerID" Width="70" Header="ID" />
                <dxg:GridColumn FieldName="Region" Width="100" Visible="False" />
                <dxg:GridColumn FieldName="Country" Width="90" Visible="False" />
                <dxg:GridColumn FieldName="City" Width="100" Visible="False" />
                <dxg:GridColumn FieldName="Address" Width="260" Visible="False" />
                <dxg:GridColumn FieldName="PostalCode" Width="110" Visible="False" />
                <dxg:GridColumn FieldName="Fax" Width="110" Visible="False" />
                <dxg:GridColumn FieldName="Phone" Width="100" Visible="False" />
            </dxg:GridControl.Columns>
        </dxg:GridControl>

    </dxdb:DemoModuleControl>
</local:GridDemoModule>!ausing System;
using System.Globalization;
using System.Windows;
using System.Windows.Data;
using DevExpress.Xpf.Grid;
using DevExpress.Xpf.DemoBase;
using DevExpress.Xpf.Core;

namespace GridDemo {
    [CodeFile("ModuleResources/ColumnChooserClasses.(cs)")]
    public partial class ColumnChooser : GridDemoModule {
        public static readonly DependencyProperty ColumnChooserTypeProperty = DependencyProperty.Register("ColumnChooserType", typeof(ColumnChooserType), typeof(ColumnChooser),
            new PropertyMetadata(ColumnChooserType.Default, new PropertyChangedCallback(OnColumnChooserTypeChanged)));

        static void OnColumnChooserTypeChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) {
            ((ColumnChooser)d).ColumnChooserTypeChanged((ColumnChooserType)e.NewValue);
        }

        public ColumnChooserType ColumnChooserType {
            get { return (ColumnChooserType)GetValue(ColumnChooserTypeProperty); }
            set { SetValue(ColumnChooserTypeProperty, value); }
        }

        public ColumnChooser() {
            InitializeComponent();
            UpdateToggleButtonContent();
        }

        protected override void ThemeNameChanged(DependencyObject sender, ThemeChangedRoutedEventArgs e) {
            base.ThemeNameChanged(sender, e);
            ThemeManager.ApplicationTheme.Apply(columnChooser);
        }
        protected override void RaiseIsPopupContentInvisibleChanged(DependencyPropertyChangedEventArgs e) {
            base.RaiseIsPopupContentInvisibleChanged(e);
            if(!IsPopupContentInvisible) {
                gridView.ShowColumnChooser();
            }
        }

        void columnChooser_PreviewGotKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e) {
            e.Handled = true;
        }

        void ColumnChooserTypeChanged(ColumnChooserType newChooserType) {
            if(newChooserType == ColumnChooserType.Default) {
                columnChooser.View = null;
                grid.View.ClearValue(GridViewBase.ColumnChooserFactoryProperty);
            }
            else {
                columnChooser.View = gridView;
                grid.View.ColumnChooserFactory = new DemoColumnChooser(columnChooser);
                gridView.ShowColumnChooser();
            }
        }

        private void showHideButton_Toggle(object sender, RoutedEventArgs e) {
            UpdateToggleButtonContent();
        }

        void UpdateToggleButtonContent() {
            showHideButton.Content = showHideButton.IsChecked.Value ? "Hide Column Chooser" : "Show Column Chooser";
        }
        protected override object GetModuleDataContext() {
            base.GetModuleDataContext();
            return this;
        }

        private void customColumnChooserExpander_Expanded(object sender, RoutedEventArgs e) {
            customColumnChooserExpander.Header = "Hide Column Chooser";
        }

        private void customColumnChooserExpander_Collapsed(object sender, RoutedEventArgs e) {
            customColumnChooserExpander.Header = "Show Column Chooser";
        }
    }
}!� <dxdemo:GridDemoModule x:Class="GridDemo.ContextMenu" x:Name="ContextMenuModule" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:local="clr-namespace:GridDemo" 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: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">
    <dxdemo:GridDemoModule.Resources>
        <ResourceDictionary>
            <dxdb:NWindDataLoader x:Key="NWindDataLoader" />
            <dx:DefaultBooleanToNullableBooleanConverter x:Key="DefaultBooleanToNullableBooleanConverter" />
        </ResourceDictionary>
    </dxdemo: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="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" />

                        </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>
</dxdemo:GridDemoModule>!{using System;
using System.Windows;
using System.Windows.Input;
using GridDemo;
using DevExpress.Xpf.Grid;
using DevExpress.Xpf.Bars;
using DevExpress.Data;
using DevExpress.Xpf.Core.Commands;
using DevExpress.Xpf.Utils;
using DevExpress.Xpf.Core.WPFCompatibility;

namespace GridDemo {
    public partial class ContextMenu : GridDemoModule {
        public static readonly DependencyProperty CellMenuInfoProperty = DependencyPropertyManager.Register("CellMenuInfo", typeof(GridCellMenuInfo), typeof(ContextMenu), new FrameworkPropertyMetadata(null));

        public ICommand DeleteRow { get; private set; }
        public ICommand CopyCellInfo { get; private set; }
        public ICommand CopyRowInfo { get; private set; }

        public GridCellMenuInfo CellMenuInfo {
            get { return (GridCellMenuInfo)GetValue(CellMenuInfoProperty); }
            set { SetValue(CellMenuInfoProperty, value); }
        }

        public ContextMenu() {
            DeleteRow = new DelegateCommand<object>(OnDeleteRow);
            CopyCellInfo = new DelegateCommand<object>(OnCopyCellInfo);
            CopyRowInfo = new DelegateCommand<object>(OnCopyRowInfo);
            InitializeComponent();
            grid.GroupBy(colCountry);
        }
        private void TableView_ShowGridMenu(object sender, DevExpress.Xpf.Grid.GridMenuEventArgs e) {
            switch(e.MenuType) {
                case GridMenuType.Column:
                    if(columnMenuRemoveItemCheck.IsChecked.Value)
                        e.Customizations.Add(new RemoveBarItemAndLinkAction() { ItemName = DefaultColumnMenuItemNames.GroupBox });
                    if(!columnMenuAddItemCheck.IsChecked.Value) {
                        e.Customizations.Add(new RemoveBarItemAndLinkAction() { ItemName = "allowSortingItem" });
                        e.Customizations.Add(new RemoveBarItemAndLinkAction() { ItemName = "allowGroupingItem" });
                    }
                    break;
                case GridMenuType.GroupPanel:
                    if(groupPanelMenuRemoveItemCheck.IsChecked.Value)
                        e.Customizations.Add(new RemoveBarItemAndLinkAction() { ItemName = DefaultColumnMenuItemNames.ClearGrouping });
                    if(!groupPanelMenuAddItemCheck.IsChecked.Value) {
                        e.Customizations.Add(new RemoveBarItemAndLinkAction() { ItemName = "allowAllSortingItem" });
                        e.Customizations.Add(new RemoveBarItemAndLinkAction() { ItemName = "allowAllGroupingItem" });
                    }
                    break;
                case GridMenuType.TotalSummary:
                    if(totalMenuRemoveItemCheck.IsChecked.Value)
                        e.Customizations.Add(new RemoveBarItemAndLinkAction() { ItemName = DefaultSummaryMenuItemNames.Customize });
                    if(!object.ReferenceEquals(e.MenuInfo.Column, colUnitPrice))
                        e.Customizations.Add(new RemoveBarItemAndLinkAction() { ItemName = "customSummaryMenuItem" });

                    break;
            }
            CellMenuInfo = e.MenuType == GridMenuType.RowCell ? (GridCellMenuInfo)e.MenuInfo : null;
        }
        void OnDeleteRow(object parameter) {
            if(parameter is int)
                view.DeleteRow(Convert.ToInt32(parameter));
        }
        void OnCopyCellInfo(object parameter) {
            GridCellMenuInfo menuInfo = parameter as GridCellMenuInfo;
            if(menuInfo != null && menuInfo.Row != null) {
                string text = GetCellText(menuInfo.Row.RowHandle.Value, menuInfo.Column);
                SetClibboardText(text);
            }
        }
        void OnCopyRowInfo(object parameter) {
            if(parameter is int) {
                grid.ClipboardCopyMode = ClipboardCopyMode.ExcludeHeader;
                grid.CopyRowsToClipboard(new int[] { Convert.ToInt32(parameter) });
                grid.ClipboardCopyMode = ClipboardCopyMode.IncludeHeader;
            }
        }
        decimal max, min;
        private void grid_CustomSummary(object sender, DevExpress.Data.CustomSummaryEventArgs e) {
            if(object.Equals(e.SummaryProcess, CustomSummaryProcess.Start)) {
                min = decimal.MinValue;
            }
            if(e.SummaryProcess == CustomSummaryProcess.Calculate) {
                decimal value = (decimal)e.FieldValue;
                if(min == decimal.MinValue) {
                    min = max = value;
                }
                else {
                    max = Math.Max(max, value);
                    min = Math.Min(min, value);
                }
            }
            if(e.SummaryProcess == CustomSummaryProcess.Finalize)
                e.TotalValue = (min + max) / 2;
        }

        GridSummaryItem customItemCore;
        GridSummaryItem CustomItem {
            get {
                if(customItemCore == null)
                    customItemCore = GetCustomItem();
                return customItemCore;
            }
        }
        private GridSummaryItem GetCustomItem() {
            foreach(GridSummaryItem item in grid.TotalSummary) {
                if(item.Tag != null && item.Tag.ToString() == "customItem")
                    return item;
            }
            return null;
        }

        private void grid_CustomSummaryExists(object sender, DevExpress.Data.CustomSummaryExistEventArgs e) {
            if((grid != null) && (object.Equals(e.Item, CustomItem)))
                e.Exists = (view.TotalSummaryMenuCustomizations[0] as BarCheckItem).IsChecked.Value;
        }
        private void customSummaryMenuItem_CheckedChanged(object sender, ItemClickEventArgs e) {
            if(grid != null)
                CustomItem.SummaryType = (sender as BarCheckItem).IsChecked.Value ? SummaryItemType.Custom : SummaryItemType.None;
        }
        void SetClibboardText(string text) {
            try {
                Clipboard.SetText(text);
            } catch { }
        }

        string GetCellText(int rowHandle, ColumnBase column) {
            return Convert.ToString(grid.GetCellValue(rowHandle, (GridColumn)column));
        }
    }
}!�<local:GridDemoModule x:Class="GridDemo.CurrentDataRow" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:local="clr-namespace:GridDemo" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:global="clr-namespace:System.Globalization;assembly=mscorlib" 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:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008">
    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/Themes/generic.SL.xaml" />
                <ResourceDictionary Source="/GridDemo;component/ModuleResources/CurrentDataRowTemplates.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
            <dxdb:NWindDataLoader x:Key="NWindDataLoader" />
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl>
        <Grid Margin="12">
            <Grid.RowDefinitions>
                <RowDefinition Height="*" />
                <RowDefinition Height="Auto" />
            </Grid.RowDefinitions>
            <dxg:GridControl Name="grid" ItemsSource="{Binding Path=EmployeesNew, Source={StaticResource NWindDataLoader}}">
                <dxg:GridControl.Columns>
                    <dxg:GridColumn FieldName="FirstName" MinWidth="100" />
                    <dxg:GridColumn FieldName="LastName" MinWidth="100" />
                    <dxg:GridColumn FieldName="BirthDate" MinWidth="100">
                        <dxg:GridColumn.EditSettings>
                            <dxe:DateEditSettings DisplayFormat="d" />
                        </dxg:GridColumn.EditSettings>
                    </dxg:GridColumn>
                    <dxg:GridColumn FieldName="Title" MinWidth="100" Header="Position" />
                    <dxg:GridColumn FieldName="Notes" MinWidth="100">
                        <dxg:GridColumn.EditSettings>
                            <dxe:MemoEditSettings ShowIcon="True" PopupWidth="250" MemoTextWrapping="Wrap" MemoVerticalScrollBarVisibility="Auto" />
                        </dxg:GridColumn.EditSettings>
                    </dxg:GridColumn>
                </dxg:GridControl.Columns>
                <dxg:GridControl.View>
                    <dxg:TableView ShowGroupedColumns="True" Name="view" AutoWidth="True">
                    </dxg:TableView>
                </dxg:GridControl.View>
            </dxg:GridControl>
            <ContentPresenter Grid.Row="1" Content="{Binding Path=SelectedItem, ElementName=grid}" ContentTemplate="{StaticResource rowDetailTemplate}" HorizontalAlignment="Stretch" />
        </Grid>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!pusing System;
using DevExpress.Xpf.DemoBase;

namespace GridDemo {
    [CodeFile("ModuleResources/CurrentDataRowTemplates(.SL).xaml")]
    public partial class CurrentDataRow : GridDemoModule {
        public CurrentDataRow() {
            InitializeComponent();
        }
        protected override bool IsGridBorderVisible { get { return true; } }
    }
}!�<local:GridDemoModule x:Class="GridDemo.DataErrorInfo" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:local="clr-namespace:GridDemo" 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008">
    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/Themes/generic.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl>
        <dxg:GridControl Name="grid" DesignTimeDataObjectType="local:Person">
            <dxg:GridControl.Columns>
                <dxg:GridColumn FieldName="FirstName" Width="100" MinWidth="30" />
                <dxg:GridColumn FieldName="LastName" Width="100" MinWidth="30" />
                <dxg:GridColumn FieldName="Address" Width="100" MinWidth="30" />
                <dxg:GridColumn FieldName="PhoneNumber" Width="100" MinWidth="30" />
                <dxg:GridColumn FieldName="Email" Width="100" MinWidth="30" />
            </dxg:GridControl.Columns>
            <dxg:GridControl.View>
                <dxg:TableView Name="view" AutoWidth="true" />
            </dxg:GridControl.View>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!}using System.Collections.Generic;
using DevExpress.Xpf.DemoBase;

namespace GridDemo {
    [CodeFile("ModuleResources/DataErrorInfoClasses.(cs)")]
    public partial class DataErrorInfo : GridDemoModule {
        public DataErrorInfo() {
            InitializeComponent();
            List<Person> persons = new List<Person>();
            persons.Add(new Person("John", "", "123 Home Lane, Homesville", "(555)956-15-47", "none"));
            persons.Add(new Person("Henry", "McAllister", "436 1st Ave, Cleveland", "(555)941-24-32", "@hotbox.com"));
            persons.Add(new Person("Frank", "Frankson", "349 Graphic Design L, Newman", "(555)155-05-02", "none"));
            persons.Add(new Person("Freddy", "Krueger", "Elm Street", "", "none"));
            persons.Add(new Person("Leticia", "Ford", "93900 Carter Lane, Cartersville", "(555)776-15-66", "none"));
            persons.Add(new Person("Karen", "Holmes", "", "(555)342-25-74", "none"));
            persons.Add(new Person("Roger", "Michelson", "3920 Michelson Dr., Bridgeford", "(555)954-51-88", "none"));
            grid.ItemsSource = persons;
        }
    }
}!h<local:GridDemoModule x:Class="GridDemo.DragDrop" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:local="clr-namespace:GridDemo" 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity">
    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <local:DragDropViewModel x:Key="viewModel" />
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/Themes/generic.SL.xaml" />
                <ResourceDictionary Source="/GridDemo;component/ModuleResources/DragDropTemplates.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl SupressGroupFramePaddingInOptions="False">
        <dxdb:DemoModuleControl.OptionsTopText>
            Drag the selected row(s) and drop it to the grid or Recycle Bin displayed within the Options panel.
        </dxdb:DemoModuleControl.OptionsTopText>
        <dxdb:DemoModuleControl.OptionsContent>
            <dx:DXDockPanel>
                <dxe:CheckEdit dx:DXDockPanel.Dock="Top" Name="multiselectionCheckEdit" Margin="0,0,0,4" IsChecked="{Binding SelectionMode, ElementName=grid, Converter={StaticResource multiSelectConverter}, Mode=TwoWay}">
                    Allow selecting multiple rows
                </dxe:CheckEdit>
                <dxe:CheckEdit dx:DXDockPanel.Dock="Top" x:Name="allowScrollingCheckEdit" IsChecked="{Binding ElementName=gridDragDropManager, Path=AllowScrolling, Mode=TwoWay}">
                    Allow scrolling on drag-n-drop
                </dxe:CheckEdit>
                <dx:GroupFrame Header="Recycle Bin" Margin="0,12,0,0" DataContext="{StaticResource viewModel}" MaxWidth="230">
                    <dx:DXDockPanel>
                        <Button Name="emptyRecycleBinButton" dx:DXDockPanel.Dock="Bottom" Command="{Binding ClearRecycleBin}" Margin="0,8,0,0" IsEnabled="{Binding RecycleBinSource.Count, Converter={StaticResource countToEnabledConverter}}">
                            Empty Recycle Bin
                        </Button>

                            <dxe:ListBoxEdit x:Name="recycleBinList" Background="{x:Null}" MinHeight="300" ItemsSource="{Binding RecycleBinSource}" ScrollViewer.HorizontalScrollBarVisibility="Visible" SelectionMode="Single" ItemTemplate="{StaticResource recycleBinItemTemplate}">
                                <i:Interaction.Behaviors>
                                    <dxg:ListBoxDragDropManager>
                                        <dxg:ListBoxDragDropManager.TemplatesContainer>
                                            <dxg:DragDropTemplatesContainer />
                                        </dxg:ListBoxDragDropManager.TemplatesContainer>
                                    </dxg:ListBoxDragDropManager>
                                </i:Interaction.Behaviors>
                            </dxe:ListBoxEdit>

                    </dx:DXDockPanel>
                </dx:GroupFrame>
            </dx:DXDockPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <Grid>
            <dxg:GridControl x:Name="grid" DataContext="{StaticResource viewModel}" AllowLiveDataShaping="True" ItemsSource="{Binding DataSource}" SelectionMode="Row">
                <dxg:GridControl.Columns>
                    <dxg:GridColumn FieldName="OID" Header="Id" MinWidth="50" Width="50" ReadOnly="true" />
                    <dxg:GridColumn FieldName="From" MinWidth="100" Width="100" />
                    <dxg:GridColumn FieldName="Subject" MinWidth="100" Width="200" />
                    <dxg:GridColumn FieldName="Sent" MinWidth="100" Width="100" GroupInterval="DateRange" AutoFilterCondition="Equals">
                        <dxg:GridColumn.EditSettings>
                            <dxe:DateEditSettings DisplayFormat="d" />
                        </dxg:GridColumn.EditSettings>
                    </dxg:GridColumn>
                    <dxg:GridColumn FieldName="HoursActive" MinWidth="100" Width="100" AutoFilterCondition="Like" />
                </dxg:GridControl.Columns>
                <dxg:GridControl.TotalSummary>
                    <dxg:GridSummaryItem FieldName="HoursActive" SummaryType="Count" Alignment="Right" />
                </dxg:GridControl.TotalSummary>
                <dxg:GridControl.GroupSummary>
                    <dxg:GridSummaryItem FieldName="HoursActive" SummaryType="Count" />
                </dxg:GridControl.GroupSummary>
                <dxg:GridControl.View>
                    <dxg:TableView x:Name="view" ShowFixedTotalSummary="True" IsTotalSummaryMenuEnabled="False" ShowGroupedColumns="True" EditorShowMode="MouseUpFocused" AutoWidth="True" />
                </dxg:GridControl.View>
                <i:Interaction.Behaviors>
                    <dxg:GridDragDropManager x:Name="gridDragDropManager">
                        <dxg:GridDragDropManager.TemplatesContainer>
                            <dxg:DragDropTemplatesContainer />
                        </dxg:GridDragDropManager.TemplatesContainer>
                    </dxg:GridDragDropManager>
                </i:Interaction.Behaviors>
            </dxg:GridControl>
        </Grid>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!�using System;
using DevExpress.Xpf.DemoBase;

namespace GridDemo {
    [CodeFile("ModuleResources/DragDropTemplates(.SL).xaml")]
    [CodeFile("ModuleResources/DragDropViewModel.(cs)")]
    public partial class DragDrop : GridDemoModule {
        public DragDrop() {
            InitializeComponent();
        }
        public override bool AllowRtl { get { return false; } }
    }
}!D
<local:GridDemoModule x:Class="GridDemo.EmbeddedTableView" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" xmlns:local="clr-namespace:GridDemo" 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxgt="http://schemas.devexpress.com/winfx/2008/xaml/grid/themekeys" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:sys="clr-namespace:System;assembly=mscorlib">
    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/Themes/generic.SL.xaml" />
                <ResourceDictionary Source="/GridDemo;component/ModuleResources/EmbeddedTableViewTemplates.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
            <local:EmployeesWithDetailsForEmbeddedView x:Key="employees" />
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl>
        <dxg:GridControl x:Name="grid" ItemsSource="{StaticResource employees}">
            <dxg:GridControl.DetailDescriptor>
                <dxg:ContentDetailDescriptor ShowHeader="True" HeaderContentTemplate="{StaticResource headerTemplate}" ContentTemplate="{StaticResource contentTemplate}" />
            </dxg:GridControl.DetailDescriptor>
            <dxg:GridControl.View>
                <dxg:TableView Name="view" AllowPerPixelScrolling="True" AutoWidth="True" NavigationStyle="Row" DetailHeaderContent="Employees">
                    <i:Interaction.Triggers>
                        <i:EventTrigger EventName="Loaded">
                            <i:InvokeCommandAction CommandName="ExpandMasterRow" CommandParameter="1" Command="{Binding Commands.ExpandMasterRow, ElementName=view}" />
                        </i:EventTrigger>
                    </i:Interaction.Triggers>
                </dxg:TableView>
            </dxg:GridControl.View>
            <dxg:GridControl.Columns>
                <dxg:GridColumn FieldName="FirstName" MinWidth="60" />
                <dxg:GridColumn FieldName="LastName" MinWidth="60" />
                <dxg:GridColumn FieldName="BirthDate" MinWidth="60">
                    <dxg:GridColumn.EditSettings>
                        <dxe:DateEditSettings DisplayFormat="d" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn x:Name="colEMail" AllowGrouping="False" FieldName="EMail" Header="E-mail" Width="195" FixedWidth="true" UnboundType="String" UnboundExpression="Lower([LastName])+'@devexpress.com'" />
                <dxg:GridColumn FieldName="Title" Header="Position" />
            </dxg:GridControl.Columns>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!using DevExpress.Xpf.Grid;
using DevExpress.Xpf.DemoBase;
using System.Windows.Controls;
using System;
using System.Collections.Generic;
using System.Windows;

namespace GridDemo {
    [CodeFile("ModuleResources/SharedResources(.SL).xaml")]
    [CodeFile("ModuleResources/EmbeddedTableViewTemplates(.SL).xaml")]
    [CodeFile("Controls/MasterDetailItems.(cs)")]
    public partial class EmbeddedTableView : GridDemoModule {
        public static readonly DependencyProperty SelectedTabIndexProperty = DependencyProperty.RegisterAttached("SelectedTabIndex", typeof(int), typeof(EmbeddedTableView), new PropertyMetadata(0));
        public static void SetSelectedTabIndex(DependencyObject element, int value) {
            element.SetValue(SelectedTabIndexProperty, value);
        }
        public static int GetSelectedTabIndex(DependencyObject element) {
            return (int)element.GetValue(SelectedTabIndexProperty);
        }
        public EmbeddedTableView() {
            InitializeComponent();
        }
    }
}!/<local:GridDemoModule x:Class="GridDemo.ExpandCollapseGroups" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:local="clr-namespace:GridDemo" 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxgt="http://schemas.devexpress.com/winfx/2008/xaml/grid/themekeys" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:sys="clr-namespace:System;assembly=mscorlib" 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" xmlns:dxgh="clr-namespace:DevExpress.Xpf.Grid.Hierarchy;assembly=DevExpress.Xpf.Grid.v13.1.Core">
    <local:GridDemoModule.Resources>
  <ResourceDictionary>
   <ResourceDictionary.MergedDictionaries>
    <ResourceDictionary Source="/GridDemo;component/Themes/generic.SL.xaml" />
                <ResourceDictionary Source="/GridDemo;component/ModuleResources/ExpandCollapseGroupsTemplates.SL.xaml" />
   </ResourceDictionary.MergedDictionaries>
            <dxdb:NWindDataLoader x:Key="NWindDataLoader" />
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl><dxdb:DemoModuleControl.OptionsContent>
        <dx:GroupFrame Header="Animation Type" VerticalAlignment="Top">
            <dxe:ListBoxEdit Background="{x:Null}" ShowBorder="False" Name="animationTypeComboBox" Margin="0,0,30,0" SelectedIndex="0" EditValueChanged="animationTypeComboBox_SelectionChanged">
                <dxe:ListBoxEdit.StyleSettings>
                    <dxe:RadioListBoxEditStyleSettings />
                </dxe:ListBoxEdit.StyleSettings>
                <dxe:ListBoxEdit.Items>
                    <sys:String>Default</sys:String>
                    <sys:String>Fade In</sys:String>
                    <sys:String>Cascade Fade In</sys:String>
                    <sys:String>Blinds</sys:String>
                    <sys:String>Cascade Blinds</sys:String>
                    <sys:String>None</sys:String>
                </dxe:ListBoxEdit.Items>
            </dxe:ListBoxEdit>
        </dx:GroupFrame>
    </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl Name="grid" ItemsSource="{Binding Path=Invoices, Source={StaticResource NWindDataLoader}}">
      <dxg:GridControl.Columns>
                <dxg:GridColumn FieldName="Country" MinWidth="30" />
                <dxg:GridColumn FieldName="Region" MinWidth="30" />
                <dxg:GridColumn FieldName="City" MinWidth="30" GroupIndex="0" />
                <dxg:GridColumn FieldName="OrderDate" MinWidth="30">
                    <dxg:GridColumn.EditSettings>
                        <dxe:DateEditSettings DisplayFormat="d" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
       <dxg:GridColumn FieldName="UnitPrice" MinWidth="30">
        <dxg:GridColumn.EditSettings>
                        <dxe:TextEditSettings DisplayFormat="$0.00" MaskType="Numeric" />
        </dxg:GridColumn.EditSettings>
       </dxg:GridColumn>
       <dxg:GridColumn FieldName="Quantity" MinWidth="30" />
            </dxg:GridControl.Columns>
            <dxg:GridControl.GroupSummary>
                <dxg:GridSummaryItem SummaryType="Count" />
            </dxg:GridControl.GroupSummary>
            <dxg:GridControl.View>
                <dxg:TableView x:Name="view" ShowGroupedColumns="True" NavigationStyle="Row" AutoWidth="True" />
            </dxg:GridControl.View>
        </dxg:GridControl>
</dxdb:DemoModuleControl></local:GridDemoModule>!�using System;
using System.Windows;
using System.Windows.Controls;
using DevExpress.Xpf.Core;
using DevExpress.Xpf.Grid;
using System.Windows.Media.Animation;
using DevExpress.Xpf.DemoBase;

namespace GridDemo {
    [CodeFile("ModuleResources/ExpandCollapseGroupsTemplates(.SL).xaml")]
    [CodeFile("ModuleResources/ExpandCollapseGroupsClasses.(cs)")]
    public partial class ExpandCollapseGroups : GridDemoModule {
        public ExpandCollapseGroups() {
            InitializeComponent();
        }
        void animationTypeComboBox_SelectionChanged(object sender, DevExpress.Xpf.Editors.EditValueChangedEventArgs e) {
            if(grid == null)
                return;
            if(animationTypeComboBox.SelectedIndex == 0 || animationTypeComboBox.SelectedIndex == 2 || animationTypeComboBox.SelectedIndex == 4) {
                grid.View.ClearValue(GridViewBase.CollapseStoryboardProperty);
                grid.View.ClearValue(GridViewBase.ExpandStoryboardProperty);
            }
            if(animationTypeComboBox.SelectedIndex == 1 || animationTypeComboBox.SelectedIndex == 3 || animationTypeComboBox.SelectedIndex == 5) {
                view.ExpandStoryboard = GetStoryboard("expandStoryborad");
                view.CollapseStoryboard = GetStoryboard("collapseStoryborad");
            }
            if(animationTypeComboBox.SelectedIndex == 1 || animationTypeComboBox.SelectedIndex == 2)
                view.RowDecorationTemplate = (ControlTemplate)Resources["fadeInTemplate"];
            if(animationTypeComboBox.SelectedIndex == 3 || animationTypeComboBox.SelectedIndex == 4)
                view.RowDecorationTemplate = (ControlTemplate)Resources["blindsTemplate"];
            if(animationTypeComboBox.SelectedIndex == 0 || animationTypeComboBox.SelectedIndex == 5)
                view.ClearValue(DevExpress.Xpf.Grid.TableView.RowDecorationTemplateProperty);
        }
        string GetStoryboard(string resourceName) {
            return
                @"
			<Storyboard>
				<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty=""AnimationProgress"">
					<DiscreteDoubleKeyFrame Value=""0"" KeyTime=""0""/>
				</DoubleAnimationUsingKeyFrames>
			</Storyboard>
";
        }
    }
}!�<local:GridDemoModule x:Class="GridDemo.FilterControl" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" xmlns:local="clr-namespace:GridDemo" 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:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" 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">
    <local:GridDemoModule.Resources>
        <dxdb:NWindDataLoader x:Key="NWindDataLoader" />
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl SupressGroupFramePaddingInOptions="False">
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel>
                <dxe:CheckEdit x:Name="showGroupCommandsIcon" Content="Show Group Commands Icon" Margin="0,0,0,4" />
                <dxe:CheckEdit x:Name="showOperandTypeIcon" Content="Show Operand Type Icon" Margin="0,0,0,4" />
                <dxe:CheckEdit x:Name="showToolTips" Content="Show Tool Tips" IsChecked="True" />
            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <Grid Margin="12">

            <Grid.RowDefinitions>
                <RowDefinition MinHeight="150" Height="0.45*" />
                <RowDefinition Height="Auto" />
                <RowDefinition MinHeight="150" Height="0.55*" />
            </Grid.RowDefinitions>
            <dx:DXDockPanel Grid.Row="0" UseLayoutRounding="True">
                <Button Width="150" Name="ApplyFilterButton" Margin="0,4,0,8" Content="Apply Filter" dx:DXDockPanel.Dock="Bottom" HorizontalAlignment="Center" Click="ApplyFilterButtonClick" />
                <dxe:FilterControl x:Name="filterEditor" SourceControl="{Binding ElementName=filterGrid, Path=FilteredComponent}" FilterCriteria="{Binding ElementName=filterGrid, Path=FilterCriteria, Mode=TwoWay}" ShowGroupCommandsIcon="{Binding ElementName=showGroupCommandsIcon, Path=IsChecked, Mode=TwoWay}" ShowOperandTypeIcon="{Binding ElementName=showOperandTypeIcon, Path=IsChecked, Mode=TwoWay}" ShowToolTips="{Binding ElementName=showToolTips, Path=IsChecked, Mode=TwoWay}" />
            </dx:DXDockPanel>

            <dxg:GridControl x:Name="filterGrid" Grid.Row="2" ItemsSource="{Binding Path=Invoices, Source={StaticResource NWindDataLoader}}">
                <dxg:GridControl.Columns>
                    <dxg:GridColumn x:Name="colID" FieldName="OrderID" MinWidth="60" Width="60" AllowResizing="False" FixedWidth="true" Header="ID" />
                    <dxg:GridColumn x:Name="colProduct" ColumnFilterMode="DisplayText" FieldName="ProductID" Header="Product" MinWidth="200" Width="200" AutoFilterCondition="Equals">
                        <dxg:GridColumn.EditSettings>
                            <dxe:ComboBoxEditSettings AutoComplete="True" ImmediatePopup="True" ValueMember="ProductID" DisplayMember="ProductName" ItemsSource="{Binding Path=Products, Source={StaticResource NWindDataLoader}}" />
                        </dxg:GridColumn.EditSettings>
                        <dxg:GridColumn.HeaderTemplate>
                            <DataTemplate>
                                <StackPanel Orientation="Horizontal">
                                    <Image Stretch="None" Source="/GridDemo;component/Images/FilterControl/produce.png" dxb:BarItem.UseAsBarItemGlyph="True" Margin="0,0,4,0" />
                                    <TextBlock Text="{Binding}" VerticalAlignment="Center" />
                                </StackPanel>
                            </DataTemplate>
                        </dxg:GridColumn.HeaderTemplate>
                    </dxg:GridColumn>
                    <dxg:GridColumn x:Name="colUnitPrice" FieldName="UnitPrice" MinWidth="50" Width="50" AutoFilterCondition="Equals">
                        <dxg:GridColumn.EditSettings>
                            <dxe:SpinEditSettings MaskType="Numeric" MaskUseAsDisplayFormat="True" Mask="c" MaskCulture="en-US" />
                        </dxg:GridColumn.EditSettings>
                    </dxg:GridColumn>
                    <dxg:GridColumn x:Name="colQuantity" FieldName="Quantity" MinWidth="50" Width="50" />
                    <dxg:GridColumn x:Name="colTotal" FieldName="Total" MinWidth="110" Width="110" UnboundType="Decimal" ReadOnly="True" UnboundExpression="[UnitPrice] * [Quantity]">
                        <dxg:GridColumn.EditSettings>
                            <dxe:TextEditSettings MaskType="Numeric" MaskUseAsDisplayFormat="True" Mask="c" MaskCulture="en-US" />
                        </dxg:GridColumn.EditSettings>
                    </dxg:GridColumn>
                </dxg:GridControl.Columns>
                <dxg:GridControl.View>
                    <dxg:TableView AutoWidth="True" FilterEditorCreated="TableView_FilterEditorCreated" />
                </dxg:GridControl.View>
            </dxg:GridControl>
        </Grid>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!�using System.Windows.Controls;
using DevExpress.Data.Filtering;

namespace GridDemo {
    public partial class FilterControl : GridDemoModule {
        public FilterControl() {
            InitializeComponent();
            filterGrid.FilterCriteria = new BinaryOperator("OrderID", 10248, BinaryOperatorType.Equal);
        }

        protected override bool IsGridBorderVisible { get { return true; } }

        private void ApplyFilterButtonClick(object sender, System.Windows.RoutedEventArgs e) {
            filterEditor.ApplyFilter();
        }

        private void TableView_FilterEditorCreated(object sender, DevExpress.Xpf.Grid.FilterEditorEventArgs e) {
            e.FilterControl.ShowGroupCommandsIcon = filterEditor.ShowGroupCommandsIcon;
            e.FilterControl.ShowOperandTypeIcon = filterEditor.ShowOperandTypeIcon;
            e.FilterControl.ShowToolTips = filterEditor.ShowToolTips;
        }
    }
}!�<local:GridDemoModule x:Class="GridDemo.Filtering" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:local="clr-namespace:GridDemo" 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:sys="clr-namespace:System;assembly=mscorlib" 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">
    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/Themes/generic.SL.xaml" />
                <ResourceDictionary Source="/GridDemo;component/ModuleResources/FilteringTemplates.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
            <dxdb:NWindDataLoader x:Key="NWindDataLoader" />
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl SupressGroupFramePaddingInOptions="False">
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel MinWidth="170">
                <dxe:CheckEdit Margin="0,0,0,4" IsChecked="{Binding Path=View.AllowColumnFiltering, Mode=TwoWay}" Name="allowFilteringCheckEdit" Content="Allow Filtering" />
                <dxe:CheckEdit Margin="0,0,0,4" IsChecked="{Binding Path=View.AllowFilterEditor, Mode=TwoWay}" Name="allowFilterEditor" Content="Allow Filter Editor" />
                <dxe:CheckEdit Margin="0,0,0,4" IsChecked="{Binding Path=AllowMRUFilterList, Mode=TwoWay}" Name="allowMRUFilterListCheckEdit" Content="Allow MRU Filter List" />
                <dxe:CheckEdit Margin="0,0,0,12" IsChecked="{Binding Path=AllowColumnMRUFilterList, Mode=TwoWay}" Name="allowColumnMRUFilterListCheckEdit" Content="Allow Column MRU Filter List" />
                <dx:GroupFrame Header="Show Filter Panel Mode" Margin="0,0,0,12">
                    <dxe:ListBoxEdit Background="{x:Null}" ShowBorder="False" x:Name="showFilterPanelModeListBox" SelectedIndex="0">
                        <dxe:ListBoxEdit.StyleSettings>
                            <dxe:RadioListBoxEditStyleSettings />
                        </dxe:ListBoxEdit.StyleSettings>
                        <dxe:ListBoxEdit.Items>
                            <sys:String>Default</sys:String>
                            <sys:String>Always</sys:String>
                            <sys:String>Never</sys:String>
                        </dxe:ListBoxEdit.Items>
                    </dxe:ListBoxEdit>
                </dx:GroupFrame>
                <dx:GroupFrame Header="Immediately Update Filter" Margin="0,0,0,12">
                    <StackPanel>
                        <dxe:CheckEdit Margin="0,0,0,4" IsChecked="{Binding Path=ImmediateUpdateColumnFilter, Mode=TwoWay, ElementName=colCountry}" Name="immediateUpdateCountryColumnFilterCheckEdit" Content="Country Column" />
                        <dxe:CheckEdit Margin="0,0,0,0" IsChecked="{Binding Path=ImmediateUpdateColumnFilter, Mode=TwoWay, ElementName=colQuantity}" Name="immediateUpdateQuantityColumnFilterCheckEdit" Content="Quantity Column" />
                    </StackPanel>
                </dx:GroupFrame>

            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl Name="grid" ItemsSource="{Binding Path=Invoices, Source={StaticResource NWindDataLoader}}">
            <dxg:GridControl.View>
                <dxg:TableView ShowGroupedColumns="True" NavigationStyle="Row" AutoWidth="True" ShowFixedTotalSummary="True" />
            </dxg:GridControl.View>
            <dxg:GridControl.Columns>
                <dxg:GridColumn Name="colCountry" FieldName="Country" MinWidth="90" Width="90" FilterPopupMode="CheckedList" />
                <dxg:GridColumn FieldName="Region" MinWidth="30" Width="30" />
                <dxg:GridColumn FieldName="City" MinWidth="30" Width="30" />
                <dxg:GridColumn FieldName="OrderDate" MinWidth="30" Width="30">
                    <dxg:GridColumn.EditSettings>
                        <dxe:DateEditSettings DisplayFormat="d" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn FieldName="UnitPrice" MinWidth="30" Width="30">
                    <dxg:GridColumn.EditSettings>
                        <dxe:TextEditSettings DisplayFormat="$0.00" MaskType="Numeric" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn Name="colQuantity" FieldName="Quantity" MinWidth="90" Width="90" FilterPopupMode="Custom" CustomColumnFilterPopupTemplate="{StaticResource quantityColumnFilterPopupTemplate}" />
            </dxg:GridControl.Columns>
            <dxg:GridControl.GroupSummary>
                <dxg:GridSummaryItem SummaryType="Count" />
            </dxg:GridControl.GroupSummary>
            <dxg:GridControl.TotalSummary>
                <dxg:GridSummaryItem SummaryType="Count" Alignment="Right" />
            </dxg:GridControl.TotalSummary>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!yusing System;
using System.Windows.Data;
using DevExpress.Data.Filtering;
using DevExpress.Xpf.Grid;
using DevExpress.Xpf.DemoBase;

namespace GridDemo{
    [CodeFile("ModuleResources/FilteringTemplates(.SL).xaml")]
    [CodeFile("ModuleResources/FilteringClasses.(cs)")]
    public partial class Filtering : GridDemoModule {
        public Filtering() {
            InitializeComponent();
            grid.FilterCriteria = new BinaryOperator("City", "Bergamo", BinaryOperatorType.Equal);
            grid.FilterCriteria = new BinaryOperator("OrderDate", new DateTime(1995, 1, 1), BinaryOperatorType.GreaterOrEqual);
            showFilterPanelModeListBox.EditValueChanged += new DevExpress.Xpf.Editors.EditValueChangedEventHandler(showFilterPanelModeListBox_SelectionChanged);

        }
        private void showFilterPanelModeListBox_SelectionChanged(object sender, DevExpress.Xpf.Editors.EditValueChangedEventArgs e) {
   UpdateShowFilterPanelMode();
  }

  private void UpdateShowFilterPanelMode() {
   if(showFilterPanelModeListBox.SelectedIndex == 0)
    grid.View.ShowFilterPanelMode = ShowFilterPanelMode.Default;
   if(showFilterPanelModeListBox.SelectedIndex == 1)
    grid.View.ShowFilterPanelMode = ShowFilterPanelMode.ShowAlways;
   if(showFilterPanelModeListBox.SelectedIndex == 2)
    grid.View.ShowFilterPanelMode = ShowFilterPanelMode.Never;
  }
    }
}!
<local:GridDemoModule x:Class="GridDemo.FixedColumns" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" xmlns:local="clr-namespace:GridDemo" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib" 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:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity">
    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/ModuleResources/FixedColumnsTemplates.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
            <dxdb:NWindDataLoader x:Key="NWindDataLoader" />
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl SupressGroupFramePaddingInOptions="False">
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel>
                <dxe:CheckEdit IsChecked="{Binding Path=View.AllowFixedColumnMenu, Mode=TwoWay}" Content="Enable Fixed Column Menu" Margin="0,0,0,4" ToolTipService.ToolTip="Allows to fix columns to the left or right using a column's context menu." />
                <dxdb:SliderControl EditValue="{Binding View.FixedLineWidth, Mode=TwoWay, Converter={StaticResource RoundValueConverter}}" Header="Fixed Line Width" Minimum="2" Maximum="12" SmallStep="1" LargeStep="1" ValueMinWidth="15" />
            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl Name="grid" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ItemsSource="{Binding Path=Customers, Source={StaticResource NWindDataLoader}}">
            <dxg:GridControl.View>
                <dxg:TableView AllowPerPixelScrolling="True" AllowEditing="False" AllowFixedColumnMenu="True" x:Name="gridView" ColumnHeaderCustomizationAreaTemplate="{StaticResource columnOptionsTemplate}" />
            </dxg:GridControl.View>
            <dxg:GridControl.Columns>
                <dxg:GridColumn FieldName="CompanyName" Width="230" Fixed="Left" />
                <dxg:GridColumn FieldName="Phone" Width="100" Fixed="Right" />
                <dxg:GridColumn FieldName="ContactName" Width="150" />
                <dxg:GridColumn FieldName="ContactTitle" Width="150" />
                <dxg:GridColumn FieldName="Region" Width="100" />
                <dxg:GridColumn FieldName="Country" Width="90" />
                <dxg:GridColumn FieldName="City" Width="100" />
                <dxg:GridColumn FieldName="Address" Width="260" />
                <dxg:GridColumn FieldName="PostalCode" Width="110" />
                <dxg:GridColumn FieldName="Fax" Width="110" />
                <dxg:GridColumn FieldName="CustomerID" Width="70" />
            </dxg:GridControl.Columns>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!using System;
using System.Windows;
using System.Windows.Data;
using DevExpress.Xpf.Core.Native;
using System.Windows.Controls.Primitives;
using System.Windows.Markup;
using System.Windows.Input;
using DevExpress.Xpf.Core.Commands;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.DemoBase;

namespace GridDemo {
    [CodeFile("ModuleResources/RoutedEventsHelper.(cs)")]
    [CodeFile("ModuleResources/FixedColumnsTemplates(.SL).xaml")]
    [CodeFile("Controls/Converters.(cs)")]
    public partial class FixedColumns : GridDemoModule {
        public FixedColumns() {
            ClosePopupCommand = new DelegateCommand<RoutedEventHandlerArgs>(ClosePopup);
            DataContext = this;
            InitializeComponent();
        }
        private void ClosePopup(RoutedEventHandlerArgs obj) {
            RadioButtonList_SelectionChanged(obj.Sender, (EditValueChangedEventArgs)obj.Args);
        }
        private void RadioButtonList_SelectionChanged(object sender, EditValueChangedEventArgs e) {
            DependencyObject d = LayoutHelper.FindLayoutOrVisualParentObject(((DependencyObject)sender), new Predicate<DependencyObject>(IsOpenedPopup));
            Popup popupRoot = d as Popup;
            if((popupRoot != null) && (e.OldValue != null))
                popupRoot.IsOpen = false;
        }
        bool IsOpenedPopup(DependencyObject obj) {
            Popup p = obj as Popup;
            return p != null && p.IsOpen;
        }
        public ICommand ClosePopupCommand { get; private set; }
    }
}!�'<local:GridDemoModule x:Class="GridDemo.GridSearchPanel" mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="300" x:Name="root" xmlns:local="clr-namespace:GridDemo" 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: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:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity">

    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/Themes/generic.SL.xaml" />
                <ResourceDictionary Source="/GridDemo;component/ModuleResources/SearchPanelTemplates.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
            <dxdb:NWindDataLoader x:Key="NWindDataLoader" />
            <local:DemoDataProvider x:Key="DemoDataProvider" />
            <local:DemoValuesProvider x:Key="DemoValuesProvider" />
            <local:GridSearchPanelViewModel x:Key="viewModel">
                <local:GridSearchPanelViewModel.View>
                    <dxg:TableView x:Name="View" AutoWidth="True" ShowTotalSummary="True" ShowFixedTotalSummary="True" SearchString="Brazil France -Reims" ShowSearchPanelFindButton="True" SearchPanelClearOnClose="False" />
                </local:GridSearchPanelViewModel.View>
            </local:GridSearchPanelViewModel>
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl SupressGroupFramePaddingInOptions="False" DataContext="{StaticResource viewModel}">
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel Orientation="Vertical" MaxWidth="240">
                <dxe:CheckEdit x:Name="cbShowSearchPanel" Content="Show Search Panel" IsChecked="{Binding View.ActualShowSearchPanel, Mode=OneWay, ElementName=grid}" Command="{Binding DataContext.ChangeSearchPanelVisibilityCommand}" CommandParameter="{Binding IsChecked, RelativeSource={RelativeSource Self}}" Margin="0,0,0,4" />
                <dxe:CheckEdit Content="Highlight Search Results" IsChecked="{Binding View.SearchPanelHighlightResults, Mode=TwoWay, ElementName=grid}" Margin="0,0,0,4" />
                <dxe:CheckEdit Content="Clear Search Results on Panel Close" IsChecked="{Binding View.SearchPanelClearOnClose, Mode=TwoWay, ElementName=grid}" Margin="0,0,0,12" />

                <dx:GroupFrame Header="Search Panel Show Mode" Margin="0,0,0,12">
                    <dxe:ListBoxEdit x:Name="lbShowMode" Background="{x:Null}" Margin="0,0,30,0" ShowBorder="False" SelectedItem="{Binding Path=View.ShowSearchPanelMode, Mode=TwoWay, Converter={StaticResource SearchPanelModeConverter}}">
                        <dxe:ListBoxEdit.StyleSettings>
                            <dxe:RadioListBoxEditStyleSettings />
                        </dxe:ListBoxEdit.StyleSettings>
                        <dxe:ListBoxEditItem ContentTemplate="{StaticResource showSearchPanelContentTemplate}" ToolTipService.ToolTip="End-users can control the search panel visibility by pressing CTRL+F and using the panel's close button, if enabled">
                            <dxg:ShowSearchPanelMode>Default</dxg:ShowSearchPanelMode>
                        </dxe:ListBoxEditItem>
                        <dxe:ListBoxEditItem ContentTemplate="{StaticResource showSearchPanelContentTemplate}" ToolTipService.ToolTip="Search panel is always displayed">
                            <dxg:ShowSearchPanelMode>Always</dxg:ShowSearchPanelMode>
                        </dxe:ListBoxEditItem>
                        <dxe:ListBoxEditItem ContentTemplate="{StaticResource showSearchPanelContentTemplate}" ToolTipService.ToolTip="Search panel is always hidden">
                            <dxg:ShowSearchPanelMode>Never</dxg:ShowSearchPanelMode>
                        </dxe:ListBoxEditItem>
                    </dxe:ListBoxEdit>
                </dx:GroupFrame>

                <dx:GroupFrame Header="Search Mode" Margin="0,0,0,12">
                    <dxe:ListBoxEdit x:Name="lbSearchMode" Background="{x:Null}" Margin="0,0,30,0" ShowBorder="False" SelectedItem="{Binding Path=View.SearchPanelFindMode, Mode=TwoWay, Converter={StaticResource SearchPanelModeConverter}}">
                        <dxe:ListBoxEdit.StyleSettings>
                            <dxe:RadioListBoxEditStyleSettings />
                        </dxe:ListBoxEdit.StyleSettings>
                        <dxe:ListBoxEditItem ToolTipService.ToolTip="Search starts automatically" ContentTemplate="{StaticResource findModeTemplate}">
                            <dxe:FindMode>Always</dxe:FindMode>
                        </dxe:ListBoxEditItem>
                        <dxe:ListBoxEditItem ToolTipService.ToolTip="Search starts when an end-user clicks Find or presses ENTER" ContentTemplate="{StaticResource findModeTemplate}">
                            <dxe:FindMode>FindClick</dxe:FindMode>
                        </dxe:ListBoxEditItem>
                    </dxe:ListBoxEdit>
                </dx:GroupFrame>

                <dx:GroupFrame Header="Search Panel Buttons" Margin="0,0,0,12">
                    <StackPanel Orientation="Vertical">
                        <dxe:CheckEdit Content="Show MRU Button" Margin="0,0,0,4" IsChecked="{Binding View.ShowSearchPanelMRUButton, Mode=TwoWay, ElementName=grid}" ToolTipService.ToolTip="Enables the dropdown button that provides access to the Most Recently Used strings" />
                        <Grid ToolTipService.ToolTip="Enables the Find button used to initiate search in 'Find on click' mode">
                            <dxe:CheckEdit x:Name="cbShowFindButton" Margin="0,0,0,4" Content="Show Find Button" IsChecked="{Binding View.ShowSearchPanelFindButton, Mode=TwoWay, ElementName=grid}" IsEnabled="{Binding Path=SelectedIndex, ElementName=lbSearchMode, Converter={StaticResource IntToBooleanConverter}}" />
                        </Grid>
                        <Grid ToolTipService.ToolTip="Enables the search panel's close button used in 'Default' display mode">
                            <dxe:CheckEdit x:Name="cbShowCloseButton" Content="Show Close Button" IsChecked="{Binding View.ShowSearchPanelCloseButton, Mode=TwoWay, ElementName=grid}" IsEnabled="{Binding Path=SelectedIndex, ElementName=lbShowMode, Converter={StaticResource IntToBooleanConverterInvert}}" />
                        </Grid>
                    </StackPanel>
                </dx:GroupFrame>

                <dx:GroupFrame x:Name="groupFrameColumns" Header="Search Columns" Margin="0,0,0,12">
                    <dxe:ComboBoxEdit x:Name="columnsList" ItemsSource="{Binding DataContext.Columns}" IsTextEditable="False" DisplayMember="HeaderCaption">
                        <dxe:ComboBoxEdit.StyleSettings>
                            <dxe:CheckedComboBoxStyleSettings />
                        </dxe:ComboBoxEdit.StyleSettings>
                        <i:Interaction.Triggers>
                            <i:EventTrigger EventName="EditValueChanged">
                                <i:InvokeCommandAction Command="{Binding DataContext.ChangeAllowSearchPanelCommand}" CommandParameter="{Binding SelectedItems, ElementName=columnsList}" />
                            </i:EventTrigger>
                        </i:Interaction.Triggers>
                    </dxe:ComboBoxEdit>
                </dx:GroupFrame>
            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl Grid.Row="1" Name="grid" DataContext="{StaticResource viewModel}" Grid.Column="0" View="{Binding View}" ItemsSource="{Binding Path=Invoices, Source={StaticResource NWindDataLoader}}">
            <dxg:GridControl.Columns>
                <dxg:GridColumn FieldName="Country" />
                <dxg:GridColumn FieldName="City" />
                <dxg:GridColumn FieldName="Quantity" />
                <dxg:GridColumn FieldName="UnitPrice">
                    <dxg:GridColumn.EditSettings>
                        <dxe:TextEditSettings DisplayFormat="$0.00" MaskType="Numeric" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn FieldName="Discount">
                    <dxg:GridColumn.EditSettings>
                        <dxe:TextEditSettings DisplayFormat="0%" MaskType="Numeric" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn FieldName="Total" UnboundType="Decimal" UnboundExpression="([UnitPrice] * [Quantity]) * (1 - [Discount])">
                    <dxg:GridColumn.EditSettings>
                        <dxe:TextEditSettings DisplayFormat="$0.00" MaskType="Numeric" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
            </dxg:GridControl.Columns>
            <dxg:GridControl.TotalSummary>
                <dxg:GridSummaryItem FieldName="UnitPrice" DisplayFormat="Avg=$0.00" SummaryType="Average" />
                <dxg:GridSummaryItem FieldName="Discount" SummaryType="Max" />
                <dxg:GridSummaryItem SummaryType="Count" Alignment="Right" />
            </dxg:GridControl.TotalSummary>
            <i:Interaction.Triggers>
                <i:EventTrigger EventName="Loaded">
                    <i:InvokeCommandAction Command="{Binding PopulateColumnsCommand}" CommandParameter="{Binding Columns, ElementName=grid}" />
                    <i:InvokeCommandAction Command="{Binding SelectAllItemsCommand, ElementName=columnsList}" CommandParameter="{Binding SelectAllAction}" />
                </i:EventTrigger>
            </i:Interaction.Triggers>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!�using System;
using System.Collections.Generic;
using System.Linq;
using DevExpress.Xpf.DemoBase;

namespace GridDemo {
    [CodeFile("ModuleResources/SearchPanelViewModel.(cs)")]
    [CodeFile("ModuleResources/SearchPanelClasses.(cs)")]
    [CodeFile("ModuleResources/SearchPanelTemplates(.SL).xaml")]
    [CodeFile("Controls/Converters.(cs)")]
    public partial class GridSearchPanel : GridDemoModule {
        public GridSearchPanel() {
            InitializeComponent();
        }
    }
}!L<local:GridDemoModule x:Class="GridDemo.Grouping" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:local="clr-namespace:GridDemo" 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008">
    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/Themes/generic.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>

            <dxdb:NWindDataLoader x:Key="NWindDataLoader" />
            <dx:DefaultBooleanToNullableBooleanConverter x:Key="DefaultBooleanToNullableBooleanConverter" />
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl SupressGroupFramePaddingInOptions="False">
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel Orientation="Vertical">
                <StackPanel Orientation="Vertical" Margin="0,0,0,12">
                    <dxe:CheckEdit Margin="0,0,0,4" FontWeight="Bold" Name="allowFixedGroupsCheckBox" IsChecked="{Binding Path=View.AllowFixedGroups, Mode=TwoWay, Converter={StaticResource DefaultBooleanToNullableBooleanConverter}}" Content="Allow Fixed Groups" ToolTipService.ToolTip="Specifies whether the top visible group row is always displayed when scrolling through grouped data." />
                    <dxe:CheckEdit Margin="0,0,0,4" IsChecked="{Binding Path=View.ShowGroupPanel, Mode=TwoWay}" Content="Show Group Panel" />
                    <dxe:CheckEdit Margin="0,0,0,4" IsChecked="{Binding Path=View.ShowColumnHeaders, Mode=TwoWay}" Content="Show Column Headers" />
                    <dxe:CheckEdit Margin="0,0,0,4" IsChecked="{Binding Path=View.ShowGroupedColumns, Mode=TwoWay}" Content="Show Grouped Columns" />
                    <dxe:CheckEdit Margin="0,0,0,4" IsChecked="{Binding Path=View.Grid.AutoExpandAllGroups, Mode=TwoWay}" Content="Automatically Expand All Groups" />
                    <dxe:CheckEdit Margin="0,0,0,4" IsChecked="{Binding Path=View.UseAnimationWhenExpanding, Mode=TwoWay}" Content="Use Animation When Expanding" />
                    <dxe:CheckEdit Margin="0,0,0,0" IsChecked="{Binding Path=View.Grid.IsRecursiveExpand, Mode=TwoWay}" Content="Expand Groups Recursively" />
                </StackPanel>
                <dx:GroupFrame Header="Group By" Margin="0,0,0,12">
                    <dxe:ListBoxEdit Background="{x:Null}" ShowBorder="False" Margin="0,0,30,0" x:Name="groupList" SelectedIndex="0" EditValueChanged="groupList_SelectionChanged">
                        <dxe:ListBoxEdit.StyleSettings>
                            <dxe:RadioListBoxEditStyleSettings />
                        </dxe:ListBoxEdit.StyleSettings>
                        <dxe:ListBoxEdit.Items>
                            <sys:String>Country then City</sys:String>
                            <sys:String>Country, City, Order Date</sys:String>
                            <sys:String>City then Order Date</sys:String>
                            <sys:String>None</sys:String>
                        </dxe:ListBoxEdit.Items>
                    </dxe:ListBoxEdit>
                </dx:GroupFrame>

            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl Name="grid" Grid.Column="0" ItemsSource="{Binding Path=Invoices, Source={StaticResource NWindDataLoader}}">
            <dxg:GridControl.View>
                <dxg:TableView NavigationStyle="Row" AutoWidth="True" AllowPerPixelScrolling="True" AllowFixedGroups="True" />
            </dxg:GridControl.View>
            <dxg:GridControl.Columns>
                <dxg:GridColumn FieldName="Country" MinWidth="30">

                </dxg:GridColumn>
                <dxg:GridColumn FieldName="City" MinWidth="30" />
                <dxg:GridColumn FieldName="OrderDate" MinWidth="30">
                    <dxg:GridColumn.EditSettings>
                        <dxe:DateEditSettings DisplayFormat="d" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn FieldName="UnitPrice" MinWidth="30">
                    <dxg:GridColumn.EditSettings>
                        <dxe:TextEditSettings DisplayFormat="$0.00" MaskType="Numeric" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn FieldName="Region" MinWidth="30" />
                <dxg:GridColumn FieldName="Total" UnboundType="Decimal" MinWidth="30" UnboundExpression="([UnitPrice] * [Quantity]) * (1 - [Discount])">
                    <dxg:GridColumn.EditSettings>
                        <dxe:TextEditSettings DisplayFormat="$0.00" MaskType="Numeric" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
            </dxg:GridControl.Columns>
            <dxg:GridControl.GroupSummary>
                <dxg:GridSummaryItem SummaryType="Count" />
            </dxg:GridControl.GroupSummary>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!1using System;


namespace GridDemo {
    public partial class Grouping : GridDemoModule {
        public Grouping() {
            InitializeComponent();
            GroupByCountryThenCity();
        }
        void viewsListBox_SelectionChanged(object sender, DevExpress.Xpf.Editors.EditValueChangedEventArgs e) {
        }
  void GroupByCountryThenCity() {
            grid.ClearGrouping();
   grid.GroupBy("Country");
   grid.GroupBy("City");
  }

  private void GroupByCountryThenCityThenOrderDate() {
            grid.ClearGrouping();
            grid.GroupBy("Country");
            grid.GroupBy("City");
            grid.GroupBy("OrderDate");
  }

  private void GroupByCityThenOrderDate() {
            grid.ClearGrouping();
            grid.GroupBy("City");
            grid.GroupBy("OrderDate");
  }
        private void ClearGrouping() {
            grid.ClearGrouping();
        }
        private void groupList_SelectionChanged(object sender, DevExpress.Xpf.Editors.EditValueChangedEventArgs e) {
   if(grid == null) return;
   switch(groupList.SelectedIndex) {
    case 0: GroupByCountryThenCity(); break;
    case 1: GroupByCountryThenCityThenOrderDate(); break;
    case 2: GroupByCityThenOrderDate(); break;
                case 3: ClearGrouping(); break;
   }
  }
    }
}!�<local:GridDemoModule x:Class="GridDemo.GroupIntervals" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:local="clr-namespace:GridDemo" 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008">
    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/Themes/generic.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
            <local:GroupIntervalData x:Key="groupIntervalData" />
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl SupressGroupFramePaddingInOptions="False">
        <dxdb:DemoModuleControl.OptionsTopText>
            Group Interval Menu is available if rows are grouped by the date part of their values (month, year or range). To show this menu, right-click the header or a grouping column, and select Group Interval.
        </dxdb:DemoModuleControl.OptionsTopText>
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel Orientation="Vertical">
                <dxe:CheckEdit IsChecked="{Binding Path=View.AllowDateTimeGroupIntervalMenu, Mode=TwoWay}" Content="Allow DateTime Group Interval Menu" Margin="0,0,0,4" />
                <dx:GroupFrame Header="Group Mode" Margin="0,0,0,0">
                    <dxe:ListBoxEdit Background="{x:Null}" ShowBorder="False" Margin="0,0,30,0" x:Name="groupModeList" EditValueChanged="groupModeList_SelectionChanged">
                        <dxe:ListBoxEdit.StyleSettings>
                            <dxe:RadioListBoxEditStyleSettings />
                        </dxe:ListBoxEdit.StyleSettings>
                        <dxe:ListBoxEdit.Items>
                            <sys:String>Alphabetical</sys:String>
                            <sys:String>Date: Month</sys:String>
                            <sys:String>Date: Year</sys:String>
                            <sys:String>Date: Range</sys:String>
                            <sys:String>Custom Interval</sys:String>
                        </dxe:ListBoxEdit.Items>
                    </dxe:ListBoxEdit>
                </dx:GroupFrame>
            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl Name="grid" ItemsSource="{Binding Path=Invoices, Source={StaticResource groupIntervalData}}" CustomColumnGroup="grid_CustomColumnGroup" CustomGroupDisplayText="view_CustomGroupDisplayText">
            <dxg:GridControl.Columns>
                <dxg:GridColumn x:Name="colCountry" FieldName="Country" MinWidth="30" />
                <dxg:GridColumn FieldName="City" MinWidth="30" />
                <dxg:GridColumn x:Name="colOrderDate" FieldName="OrderDate" MinWidth="30">
                    <dxg:GridColumn.EditSettings>
                        <dxe:DateEditSettings DisplayFormat="d" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn x:Name="colUnitPrice" FieldName="UnitPrice" MinWidth="30">
                    <dxg:GridColumn.EditSettings>
                        <dxe:TextEditSettings DisplayFormat="$0.00" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn FieldName="Region" MinWidth="30" />
            </dxg:GridControl.Columns>
            <dxg:GridControl.View>
                <dxg:TableView ShowGroupedColumns="True" NavigationStyle="Row" AutoWidth="True" Name="view" ShowGridMenu="view_ShowGridMenu" AllowGrouping="False" />
            </dxg:GridControl.View>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!�using System;
using System.Collections.Generic;
using DevExpress.Xpf.Grid;
using DevExpress.XtraGrid;
using DevExpress.Xpf.DemoBase;
using DevExpress.Xpf.Bars;
using DevExpress.Xpf.Core.Commands;

namespace GridDemo {
    [CodeFile("ModuleResources/GroupIntervalsClasses.(cs)")]
    public partial class GroupIntervals : GridDemoModule {
        public GroupIntervals() {
            InitializeComponent();
            groupModeList.SelectedIndex = 0;
        }
        private void groupModeList_SelectionChanged(object sender, DevExpress.Xpf.Editors.EditValueChangedEventArgs e) {
            SetGroupInterval(groupModeList.SelectedIndex);
        }
        void SetGroupInterval(int index) {
            grid.SortInfo.Clear();
            grid.GroupCount = 0;
            foreach(GridColumn column in grid.Columns) {
                column.GroupInterval = ColumnGroupInterval.Default;
                column.SortMode = ColumnSortMode.Default;
            }
            switch(index) {
                case 0:
                    SetInterval("Country", ColumnGroupInterval.Alphabetical);
                    break;
                case 1:
                    SetInterval("OrderDate", ColumnGroupInterval.DateMonth);
                    break;
                case 2:
                    SetInterval("OrderDate", ColumnGroupInterval.DateYear);
                    break;
                case 3:
                    SetInterval("OrderDate", ColumnGroupInterval.DateRange);
                    break;
                case 4:
                    SetSortMode("UnitPrice", ColumnSortMode.Custom);
                    break;
            }
        }
        void SetInterval(string fieldName, ColumnGroupInterval interval) {
            grid.Columns[fieldName].GroupInterval = interval;
            grid.GroupBy(fieldName);
        }
        void SetSortMode(string fieldName, ColumnSortMode sortMode) {
            grid.Columns[fieldName].SortMode = sortMode;
            grid.GroupBy(fieldName);
        }
        void grid_CustomColumnGroup(object sender, CustomColumnSortEventArgs e) {
            double x = Math.Floor(Convert.ToDouble(e.Value1) / 10);
            double y = Math.Floor(Convert.ToDouble(e.Value2) / 10);
            int res = Comparer<double>.Default.Compare(x, y);
            if(x > 19 && y > 19) res = 0;
            e.Result = res;
            e.Handled = true;
        }
        void view_CustomGroupDisplayText(object sender, CustomGroupDisplayTextEventArgs e) {
            if(e.Column.SortMode == ColumnSortMode.Custom) {
                double d = Math.Floor(Convert.ToDouble(e.Value) / 10);
                string ret = string.Format("{0:$0.00} - {1:$0.00} ", d * 10, (d + 1) * 10);
                if(d > 19) ret = string.Format(">= {0:$0.00} ", d * 10);
                e.DisplayText = ret;
            }
        }

        void view_ShowGridMenu(object sender, GridMenuEventArgs e) {
            if(e.MenuType == GridMenuType.Column && e.MenuInfo.Column.FieldName == "OrderDate") {
                e.Customizations.Add(new RemoveBarItemAndLinkAction() { ItemName = DefaultColumnMenuItemNames.MenuColumnGroupIntervalNone });
                e.Customizations.Add(new RemoveBarItemAndLinkAction() { ItemName = DefaultColumnMenuItemNames.MenuColumnGroupIntervalDay });
                SetContextMenuItemCommand(e, DefaultColumnMenuItemNames.MenuColumnGroupIntervalMonth, 1);
                SetContextMenuItemCommand(e, DefaultColumnMenuItemNames.MenuColumnGroupIntervalYear, 2);
                SetContextMenuItemCommand(e, DefaultColumnMenuItemNames.MenuColumnGroupIntervalSmart, 3);
            }
        }
        void SetContextMenuItemCommand(GridMenuEventArgs e, string itemName, int index) {
            BarItem item = e.MenuInfo.Menu.GetBarItemByName(itemName);
            if(item != null)
                item.Command = new DelegateCommand<object>(delegate(object obj) { groupModeList.SelectedIndex = index; });
        }
    }
}!�
<local:GridDemoModule x:Class="GridDemo.GroupSummariesAlignment" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:local="clr-namespace:GridDemo" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxgt="http://schemas.devexpress.com/winfx/2008/xaml/grid/themekeys" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008">
    <local:GridDemoModule.DataContext>
        <local:GroupSummariesAlignmentViewModel />
    </local:GridDemoModule.DataContext>
    <dxdb:DemoModuleControl>
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel>
                <dx:GroupFrame Header="Sales Report Type" Margin="0,0,0,12">
                    <dxe:ListBoxEdit SelectedIndex="{Binding DataContext.ReportTypeIndex, Mode=TwoWay}" ItemsSource="{Binding DataContext.ReportTypes}" Background="{x:Null}" ShowBorder="False" Margin="0,0,30,0" x:Name="reportTypesList">
                        <dxe:ListBoxEdit.StyleSettings>
                            <dxe:RadioListBoxEditStyleSettings />
                        </dxe:ListBoxEdit.StyleSettings>
                    </dxe:ListBoxEdit>
                </dx:GroupFrame>
                <dxe:CheckEdit Content="Allow Cascade Update" IsChecked="{Binding Path=DataContext.AllowCascadeUpdate, Mode=TwoWay}" />
            </StackPanel>

        </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl x:Name="grid" ItemsSource="{Binding ActualSalesReport}">
            <dxg:GridControl.Columns>
                <dxg:GridColumn Header="Year" FieldName="Date" ReadOnly="True" GroupIndex="0" SortOrder="Descending" GroupInterval="DateYear" Fixed="Left" MinWidth="100">
                    <dxg:GridColumn.EditSettings>
                        <dxe:DateEditSettings MaskType="DateTime" MaskUseAsDisplayFormat="True" Mask="Y" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn Header="Month" FieldName="DateMonth" ReadOnly="True" Visible="False" SortOrder="Descending" GroupInterval="DateMonth" Fixed="Left" MinWidth="100">
                    <dxg:GridColumn.EditSettings>
                        <dxe:DateEditSettings MaskType="DateTime" MaskUseAsDisplayFormat="True" Mask="M" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
            </dxg:GridControl.Columns>
            <dxg:GridControl.ColumnGeneratorTemplateSelector>
                <local:SalesByYearDataColumnTemplateSelector />
            </dxg:GridControl.ColumnGeneratorTemplateSelector>
            <dxg:GridControl.View>
                <dxg:TableView x:Name="view" GroupSummaryDisplayMode="AlignByColumns" ShowTotalSummary="True" AllowCascadeUpdate="{Binding Path=AllowCascadeUpdate}" AllowGroupSummaryCascadeUpdate="{Binding Path=AllowCascadeUpdate}" ShowGroupedColumns="True" AllowGrouping="False" AllowPerPixelScrolling="True" />
            </dxg:GridControl.View>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!.
using System;
using System.Collections.Generic;
using System.Windows;
using GridDemo;
using System.Collections;
using System.Globalization;
using DevExpress.Data;
using DevExpress.Xpf.DemoBase;
using DevExpress.Xpf.Grid;
using DevExpress.Xpf.Editors.Settings;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.DemoBase.Helpers;
using DevExpress.Xpf.DemoBase.NWind;
using DevExpress.Data.Browsing;

namespace GridDemo {
    [CodeFile("Controls/SalesByYearData.(cs)")]
    [CodeFile("ModuleResources/GroupSummariesAlignmentViewModel.(cs)")]
    public partial class GroupSummariesAlignment : GridDemoModule {
        GroupSummariesAlignmentViewModel ViewModel { get { return (GroupSummariesAlignmentViewModel)DataContext; } }
        public GroupSummariesAlignment() {
            InitializeComponent();
            if(grid.ItemsSource != null)
                PopulateColumnsAndSummaries();
            grid.ExpandGroupRow(-1);
            grid.ItemsSourceChanged += new ItemsSourceChangedEventHandler(grid_ItemsSourceChanged);
        }

        void PopulateColumnsAndSummaries() {
            PropertyDescriptorCollection properties = ((ITypedList)grid.ItemsSource).GetItemProperties(null);
            foreach(PropertyDescriptor property in properties) {
                if(property.Name.Contains("Date")) continue;
                grid.Columns.Add(new GridColumn() {
                    FieldName = property.Name,
                    EditSettings = new SpinEditSettings() {
                        MaskType = MaskType.Numeric, Mask = "c", MaskCulture = new CultureInfo("en-US"), MaskUseAsDisplayFormat = true,
                        DisplayFormat="${0:N}"
                    }
                });
                grid.TotalSummary.Add(new GridSummaryItem() { FieldName = property.Name, SummaryType = SummaryItemType.Sum, DisplayFormat = "${0:N}" });
                grid.GroupSummary.Add(new GridSummaryItem() { FieldName = property.Name, SummaryType = SummaryItemType.Sum, DisplayFormat = "${0:N}" });
            }
        }
        private void grid_ItemsSourceChanged(object sender, ItemsSourceChangedEventArgs e) {
            if(grid.GroupSummary.Count == 0)
                PopulateColumnsAndSummaries();
            bool byMonthReport = ViewModel.ReportTypeIndex == 1;
            grid.Columns["DateMonth"].Visible = byMonthReport;
            if(byMonthReport)
                grid.Columns["DateMonth"].GroupIndex = 1;
            else
                grid.UngroupBy("DateMonth");
            grid.ExpandGroupRow(-1);
        }
    }
}!<local:GridDemoModule x:Class="GridDemo.GroupSummary" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:local="clr-namespace:GridDemo" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxgt="http://schemas.devexpress.com/winfx/2008/xaml/grid/themekeys" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" 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">
    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/ModuleResources/GroupSummaryTemplates.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
            <dxdb:NWindDataLoader x:Key="NWindDataLoader" />
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <local:GridDemoModule.DataContext>
        <local:GroupSummaryViewModel>
            <local:GroupSummaryViewModel.AlignByColumnsDisplayModeSummaries>
                <local:GridSummaryList>
                    <dxg:GridSummaryItem FieldName="Discount" SummaryType="Max" />
                    <dxg:GridSummaryItem FieldName="Total" SummaryType="Sum" />
                    <dxg:GridSummaryItem FieldName="Quantity" SummaryType="Min" />
                    <dxg:GridSummaryItem FieldName="Freight" SummaryType="Sum" />
                    <dxg:GridSummaryItem FieldName="UnitPrice" SummaryType="Average" />
                </local:GridSummaryList>
            </local:GroupSummaryViewModel.AlignByColumnsDisplayModeSummaries>
            <local:GroupSummaryViewModel.DefaultDisplayModeSummaries>
                <local:GridSummaryList>
                    <dxg:GridSummaryItem FieldName="Discount" SummaryType="Max" />
                    <dxg:GridSummaryItem FieldName="Total" SummaryType="Sum" />
                </local:GridSummaryList>
            </local:GroupSummaryViewModel.DefaultDisplayModeSummaries>
        </local:GroupSummaryViewModel>
    </local:GridDemoModule.DataContext>
    <dxdb:DemoModuleControl SupressGroupFramePaddingInOptions="False">
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel Orientation="Vertical">
                <dxe:CheckEdit x:Name="alignByColumnsCheckEdit" Margin="0,0,0,4" IsChecked="{Binding Path=DataContext.AlignSummariesByColumns, Mode=TwoWay}" Content="Align Summaries by Columns" />
                <dxe:CheckEdit Margin="0,0,0,12" IsChecked="{Binding Path=DataContext.AllowCascadeUpdate, Mode=TwoWay}" Content="Allow Cascade Update" />
                <dx:GroupFrame Header="Summary Template" Visibility="{Binding IsChecked, ElementName=alignByColumnsCheckEdit, Converter={StaticResource BoolToVisibilityInverseConverter}}">
                    <dxe:ListBoxEdit Background="{x:Null}" ShowBorder="False" Margin="0,0,30,0" SelectedIndex="0" Name="summaryItemTemplateComboBox" EditValueChanged="summaryItemTemplateComboBox_SelectionChanged">
                        <dxe:ListBoxEdit.StyleSettings>
                            <dxe:RadioListBoxEditStyleSettings />
                        </dxe:ListBoxEdit.StyleSettings>
                        <dxe:ListBoxEdit.Items>
                            <sys:String>Customizable</sys:String>
                            <sys:String>Conditional</sys:String>
                            <sys:String>Custom</sys:String>
                            <sys:String>Default</sys:String>
                        </dxe:ListBoxEdit.Items>
                    </dxe:ListBoxEdit>
                </dx:GroupFrame>
            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl Name="grid" ItemsSource="{Binding Path=Invoices, Source={StaticResource NWindDataLoader}}" GroupSummarySource="{Binding SummarySource}">
            <dxg:GridControl.Columns>
                <dxg:GridColumn Name="colCity" FieldName="City" MinWidth="120" GroupIndex="0" VisibleIndex="{Binding CityColumnVisibleIndex, Mode=TwoWay}" />
                <dxg:GridColumn FieldName="UnitPrice" MinWidth="30">
                    <dxg:GridColumn.EditSettings>
                        <dxe:TextEditSettings DisplayFormat="$0.00" MaskType="Numeric" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn FieldName="Quantity" MinWidth="30" />
                <dxg:GridColumn FieldName="Discount" MinWidth="30">
                    <dxg:GridColumn.EditSettings>
                        <dxe:TextEditSettings DisplayFormat="0%" MaskType="Numeric" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn FieldName="Freight" MinWidth="30">
                    <dxg:GridColumn.EditSettings>
                        <dxe:TextEditSettings DisplayFormat="$0.00" MaskType="Numeric" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn FieldName="Total" UnboundType="Decimal" MinWidth="30" UnboundExpression="([UnitPrice] * [Quantity]) * (1 - [Discount])">
                    <dxg:GridColumn.EditSettings>
                        <dxe:TextEditSettings DisplayFormat="$0.00" MaskType="Numeric" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn FieldName="ExtendedPrice" Visible="False" ShowInColumnChooser="False" AllowColumnFiltering="False" />
            </dxg:GridControl.Columns>
            <dxg:GridControl.View>
                <dxg:TableView x:Name="view" AllowPerPixelScrolling="True" ShowGroupedColumns="{Binding Path=AlignSummariesByColumns}" AllowCascadeUpdate="{Binding Path=AllowCascadeUpdate}" AllowGroupSummaryCascadeUpdate="{Binding Path=AllowCascadeUpdate}" GroupSummaryDisplayMode="{Binding Path=AlignSummariesByColumns, Converter={StaticResource BoolToGroupSummaryDisplayModeConverter}}" AllowEditing="False" NavigationStyle="Row" AutoWidth="True" GroupSummaryItemTemplate="{StaticResource customTemplateWithSummaryCustomization}" />
            </dxg:GridControl.View>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!using System;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using DevExpress.Xpf.Grid;
using DevExpress.Xpf.Core;
using DevExpress.Data;
using DevExpress.Xpf.DemoBase.Helpers;
using System.Collections.Generic;
using DevExpress.Xpf.DemoBase;

namespace GridDemo {
    [CodeFile("ModuleResources/GroupSummaryViewModel.(cs)")]
    [CodeFile("ModuleResources/GroupSummaryClasses.(cs)")]
    [CodeFile("ModuleResources/GroupSummaryTemplates(.SL).xaml")]
    public partial class GroupSummary : GridDemoModule {

        public GroupSummary() {
            InitializeComponent();
        }

        private void summaryItemTemplateComboBox_SelectionChanged(object sender, DevExpress.Xpf.Editors.EditValueChangedEventArgs e) {
            if(grid == null)
                return;
            if(summaryItemTemplateComboBox.SelectedIndex == 0) {
                view.GroupSummaryItemTemplate = (DataTemplate)this.FindResource("customTemplateWithSummaryCustomization");
                view.ClearValue(GridViewBase.GroupSummaryItemTemplateSelectorProperty);
            }
            if(summaryItemTemplateComboBox.SelectedIndex == 1) {
                view.GroupSummaryItemTemplateSelector = new ConditionalGroupSummaryItemTemplateSelector((DataTemplate)this.FindResource("smallValueTemplate"),
                    (DataTemplate)this.FindResource("largeValueTemplate"));
                view.ClearValue(GridViewBase.GroupSummaryItemTemplateProperty);
            }
            if(summaryItemTemplateComboBox.SelectedIndex == 2) {
                view.GroupSummaryItemTemplate = (DataTemplate)this.FindResource("customTemplate");
                view.ClearValue(GridViewBase.GroupSummaryItemTemplateSelectorProperty);
            }
            if(summaryItemTemplateComboBox.SelectedIndex == 3) {
                grid.View.ClearValue(GridViewBase.GroupSummaryItemTemplateProperty);
                grid.View.ClearValue(GridViewBase.GroupSummaryItemTemplateSelectorProperty);
            }
        }
    }
}!�<local:GridDemoModule x:Class="GridDemo.HitTest" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:local="clr-namespace:GridDemo" 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008">

    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/Themes/generic.SL.xaml" />
                <ResourceDictionary Source="/GridDemo;component/Controls/ControlStyles/NameTextControl.SL.xaml" />
                <ResourceDictionary Source="/GridDemo;component/ModuleResources/HitTestTemplates.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>

            <local:SLNWindDataLoader x:Key="NWindDataLoader" />


        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl SupressGroupFramePaddingInOptions="False">
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel MinWidth="160">
                <dxe:CheckEdit dx:DXDockPanel.Dock="Top" IsChecked="True" Name="showHitInfoCheckEdit">Show Hit Information</dxe:CheckEdit>

            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <Grid>
            <dx:PopupBase Name="hitInfoPopup" Placement="Mouse" PlacementTarget="{Binding ElementName=grid}" Opened="hitInfoPopup_Opened">
                <local:HintControl Width="250">
                    <Border Padding="12,8,24,10">
                        <ItemsControl Name="hitIfoItemsControl" ItemTemplate="{StaticResource hitInfoTemplate}" />
                    </Border>
                </local:HintControl>
            </dx:PopupBase>
            <dxg:GridControl x:Name="grid" ItemsSource="{Binding Path=InvoicesNew, Source={StaticResource NWindDataLoader}}" MouseMove="grid_MouseMove">
                <dxg:GridControl.View>
                    <dxg:TableView ShowFixedTotalSummary="True" IsTotalSummaryMenuEnabled="False" ShowGroupedColumns="True" AutoWidth="False" ShowAutoFilterRow="True" NewItemRowPosition="Top" AllowDrop="True" />
                </dxg:GridControl.View>
                <dxg:GridControl.Columns>
                    <dxg:GridColumn x:Name="colID" FieldName="OrderID" MinWidth="60" Width="60" AllowResizing="False" FixedWidth="true" Header="ID" Fixed="Left" />
                    <dxg:GridColumn x:Name="colProduct" FieldName="ProductID" Header="Product" MinWidth="200" Width="200" AutoFilterCondition="Equals">
                        <dxg:GridColumn.EditSettings>
                            <dxe:ComboBoxEditSettings AutoComplete="True" ImmediatePopup="True" ValueMember="ProductID" DisplayMember="ProductName" ItemsSource="{Binding Path=Products, Source={StaticResource NWindDataLoader}}">
                            </dxe:ComboBoxEditSettings>
                        </dxg:GridColumn.EditSettings>
                    </dxg:GridColumn>
                    <dxg:GridColumn x:Name="colUnitPrice" FieldName="UnitPrice" MinWidth="50" Width="50" AutoFilterCondition="Equals">
                        <dxg:GridColumn.EditSettings>
                            <dxe:SpinEditSettings MaskType="Numeric" MaskUseAsDisplayFormat="True" Mask="c" MaskCulture="en-US" />
                        </dxg:GridColumn.EditSettings>
                    </dxg:GridColumn>
                    <dxg:GridColumn x:Name="colQuantity" FieldName="Quantity" MinWidth="50" Width="50" />
                    <dxg:GridColumn x:Name="colTotal" FieldName="Total" MinWidth="110" Width="110" UnboundType="Decimal" ReadOnly="True" UnboundExpression="[UnitPrice] * [Quantity]">
                        <dxg:GridColumn.EditSettings>
                            <dxe:TextEditSettings MaskType="Numeric" MaskUseAsDisplayFormat="True" Mask="c" MaskCulture="en-US" />
                        </dxg:GridColumn.EditSettings>
                    </dxg:GridColumn>
                </dxg:GridControl.Columns>
                <dxg:GridControl.TotalSummary>
                    <dxg:GridSummaryItem FieldName="Total" SummaryType="Count" Alignment="Right" />
                </dxg:GridControl.TotalSummary>
                <dxg:GridControl.GroupSummary>
                    <dxg:GridSummaryItem FieldName="Total" SummaryType="Count" />
                </dxg:GridControl.GroupSummary>
            </dxg:GridControl>

        </Grid>

    </dxdb:DemoModuleControl>
</local:GridDemoModule>!�using System;
using System.Windows;
using DevExpress.Xpf.Grid;
using System.Collections.ObjectModel;
using DevExpress.Xpf.Core;
using System.Globalization;
using System.Linq;
using DevExpress.Xpf.Core.WPFCompatibility;
using DevExpress.Data.Browsing;
using DevExpress.Xpf.DemoBase;
using DevExpress.Xpf.DemoBase.NWind;
using System.Collections.Generic;

namespace GridDemo {
    [CodeFile("Controls/ControlStyles/NameTextControl(.SL).xaml")]
    [CodeFile("ModuleResources/HitTestTemplates(.SL).xaml")]
    [CodeFile("ModuleResources/HitTestClasses.(cs)")]
    public partial class HitTest : GridDemoModule {
        DevExpress.Xpf.Grid.TableView TableView { get { return (DevExpress.Xpf.Grid.TableView)grid.View; } }
        ObservableCollection<HitTestInfo> hitInfoList = new ObservableCollection<HitTestInfo>();
        Point startPosition;


        public bool AllowShowHitInfo {
            get { return (bool)GetValue(AllowShowHitInfoProperty); }
            set { SetValue(AllowShowHitInfoProperty, value); }
        }
        public override bool AllowRtl { get { return false; } }

        public static readonly DependencyProperty AllowShowHitInfoProperty =
            DependencyProperty.Register("AllowShowHitInfo", typeof(bool), typeof(HitTest), new UIPropertyMetadata(true));


        public HitTest() {
            InitializeComponent();

            grid.Loaded += grid_Loaded;
            grid.MouseEnter += grid_MouseEnterMouseLeave;
            grid.MouseLeave += grid_MouseEnterMouseLeave;
            DependencyPropertyChangeListener isCheckedListener = new DependencyPropertyChangeListener("IsChecked", showHitInfoCheckEdit, DependencyPropertyChangeHandler);
            DependencyPropertyChangeListener allowShowHitInfoListener = new DependencyPropertyChangeListener("AllowShowHitInfo", this, DependencyPropertyChangeHandler);


            hitIfoItemsControl.ItemsSource = hitInfoList;

        }
        void grid_Loaded(object sender, RoutedEventArgs e) {
            SetPopupIsOpen();
        }
        void grid_MouseEnterMouseLeave(object sender, System.Windows.Input.MouseEventArgs e) {
            SetPopupIsOpen();
        }
        void DependencyPropertyChangeHandler(DependencyObject d, DependencyPropertyChangedEventArgs e) {
            SetPopupIsOpen();
        }
        void viewsListBox_SelectionChanged(object sender, DevExpress.Xpf.Editors.EditValueChangedEventArgs e) {
        }

        private void grid_MouseMove(object sender, System.Windows.Input.MouseEventArgs e) {
            Point location = e.GetPosition(grid);
            Rect gridRect = DevExpress.Xpf.Core.Native.LayoutHelper.GetRelativeElementRect(grid, Application.Current.RootVisual);
            PointHelper.Offset(ref location, gridRect.X, gridRect.Y);
            double hOffset = location.X - startPosition.X;
            if(FlowDirection == System.Windows.FlowDirection.RightToLeft)
                hOffset = -hOffset;

            hitInfoPopup.HorizontalOffset = hOffset;
            hitInfoPopup.VerticalOffset = location.Y - startPosition.Y;

            GridViewHitInfoBase info = GetHitInfo(e);

            hitInfoList.Clear();

            AddHitInfo("HitTest", TypeDescriptor.GetProperties(info)["HitTest"].GetValue(info).ToString());

            AddHitInfo("Column", info.Column != null ? info.Column.HeaderCaption as string : "No column");
            AddHitInfo("RowHandle", GetRowHandleDescription(info.RowHandle));
            AddHitInfo("CellValue", info.Column != null ? grid.GetCellDisplayText(info.RowHandle, info.Column) : null);
            info.Accept(CreateDemoHitTestVisitor());
        }
        GridViewHitTestVisitorBase CreateDemoHitTestVisitor() {
            return new DemoTableViewHitTestVisitor(this);
        }
        GridViewHitInfoBase GetHitInfo(RoutedEventArgs e) {
            if(grid.View is DevExpress.Xpf.Grid.TableView)
                return (GridViewHitInfoBase)TableView.CalcHitInfo(e.OriginalSource as DependencyObject);
            return null;

        }
        string GetRowHandleDescription(int rowHanle) {
            if(rowHanle == GridControl.InvalidRowHandle)
                return "No row";
            if(rowHanle == GridControl.NewItemRowHandle)
                return "New Item Row";
            if(rowHanle == GridControl.AutoFilterRowHandle)
                return "Auto Filter Row";
            return string.Format("{0} ({1})", rowHanle, grid.IsGroupRowHandle(rowHanle) ? "group row" : "data row");
        }
        internal void AddHitInfo(string name, string text) {
            hitInfoList.Add(new HitTestInfo(name, text));
        }
        internal void RemoveHitInfo(string name) {
            HitTestInfo infoToRemove = hitInfoList.Where(info => info.Name == name).FirstOrDefault();
            if(infoToRemove != null)
                hitInfoList.Remove(infoToRemove);
        }
        internal void AddTotalSummaryInfo(ColumnBase column) {
            AddHitInfo("TotalSummary", column.TotalSummaryText);
        }
        internal void AddFixedTotalSummaryInfo(GridTotalSummaryData summaryData) {
            RemoveHitInfo("CellValue");
            AddHitInfo("FixedTotalSummary", summaryData.Item.GetFooterDisplayText(CultureInfo.CurrentCulture, summaryData.Column.FieldName, summaryData.Value, ""));
        }
        internal void AddGroupValueInfo(GridColumnData columnData) {
            AddHitInfo("GroupValue", string.Format("{0}: {1}", columnData.Column.FieldName, columnData.Value));
        }
        internal void AddGroupSummaryInfo(GridGroupSummaryData summaryData) {
            AddHitInfo("GroupSummary", summaryData.Text);
        }
        void hitInfoPopup_Opened(object sender, EventArgs e) {
            startPosition = new Point(-10, -10);
        }

        void SetPopupIsOpen() {
            hitInfoPopup.IsOpen = grid.IsMouseOver && showHitInfoCheckEdit.IsChecked.Value && AllowShowHitInfo;
        }
    }
}!<local:GridDemoModule x:Class="GridDemo.InplaceEditors" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" UseGridControlWrapperAsDataContext="True" xmlns:local="clr-namespace:GridDemo" 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008">
    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/ModuleResources/InplaceEditorsTemplates.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
            <local:DemoDataProvider x:Key="DemoDataProvider" />

        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl SupressGroupFramePaddingInOptions="False">
        <dxdb:DemoModuleControl.OptionsTopText>
            Click a data cell and edit its value using the corresponding in-place editor.
        </dxdb:DemoModuleControl.OptionsTopText>
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel>
                <dxe:CheckEdit IsChecked="{Binding Path=GridControl.View.AllowEditing, Mode=TwoWay}" Margin="0,0,0,12" Content="Enable Editing" />
                <dx:GroupFrame Header="Editor Show Mode" Margin="0,0,0,12">
                    <dxe:ComboBoxEdit Background="{x:Null}" x:Name="editorShowModeCombobox" IsTextEditable="False" SelectedIndex="0">
                        <sys:String>Mouse Down</sys:String>
                        <sys:String>Mouse Down On Focused Cell</sys:String>
                        <sys:String>Mouse Up</sys:String>
                        <sys:String>Mouse Up On Focused Cell</sys:String>
                    </dxe:ComboBoxEdit>
                </dx:GroupFrame>
                <dx:GroupFrame Header="Editor Button Show Mode" Margin="0,0,0,12">
                    <dxe:ComboBoxEdit Background="{x:Null}" x:Name="editorButtonShowModeListBox" IsTextEditable="False" SelectedIndex="0">
                        <sys:String>Show Only In Editor</sys:String>
                        <sys:String>Show For Focused Cell</sys:String>
                        <sys:String>Show For Focused Row</sys:String>
                        <sys:String>Show Always</sys:String>
                    </dxe:ComboBoxEdit>
                </dx:GroupFrame>
                <dx:GroupFrame Header="Boolean Editor Type" Margin="0,0,0,12">
                    <dxe:ComboBoxEdit Background="{x:Null}" x:Name="booleanColumnEditorListBox" IsTextEditable="False" SelectedIndex="0">
                        <sys:String>Check Edit</sys:String>
                        <sys:String>Text Edit</sys:String>
                        <sys:String>Combo Box Edit</sys:String>
                    </dxe:ComboBoxEdit>
                </dx:GroupFrame>

                <dx:GroupFrame Header="'To' column options" Margin="0,0,0,12">
                    <StackPanel>
                        <dxe:CheckEdit x:Name="autoCompleteCheckBox" Content="Auto Complete" IsChecked="True" Margin="0,0,0,4" />
                        <dxe:CheckEdit x:Name="immediatePopupCheckBox" Content="Immediate popup" IsEnabled="{Binding Path=IsChecked, ElementName=autoCompleteCheckBox}" />
                    </StackPanel>
                </dx:GroupFrame>
                <dx:GroupFrame Header="'Hours Active' column options" Margin="0,0,0,12">
                    <StackPanel>
                        <dxe:CheckEdit x:Name="alternativeDisplayTemplateCheckBox" Checked="alternativeDisplayTemplateCheckBox_Checked" Unchecked="alternativeDisplayTemplateCheckBox_Unchecked" Margin="0,0,0,4" Content="Use alternative display template" />
                        <dxe:CheckEdit x:Name="alternativeEditTemplateCheckBox" Checked="alternativeEditTemplateCheckBox_Checked" Unchecked="alternativeEditTemplateCheckBox_Unchecked" Content="Use alternative edit template" />
                    </StackPanel>
                </dx:GroupFrame>
            </StackPanel>

        </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl x:Name="grid" DesignTimeDataObjectType="local:OutlookData">
            <dxg:GridControl.View>
                <dxg:TableView AutoWidth="true" ShowTotalSummary="True" />
            </dxg:GridControl.View>
            <dxg:GridControl.Columns>
                <dxg:GridColumn x:Name="colId" FieldName="OID" Header="Id" Width="50" MinWidth="30" ReadOnly="true" />
                <dxg:GridColumn x:Name="colPriority" FieldName="Priority" SortMode="Value" Width="40" MinWidth="100" />
                <dxg:GridColumn FieldName="From" Width="100" />

                <dxg:GridColumn x:Name="colUserId" FieldName="UserId" Header="To" Width="100">


                </dxg:GridColumn>
                <dxg:GridColumn FieldName="Sent" Width="110" GroupInterval="DateRange">
                    <dxg:GridColumn.EditSettings>
                        <dxe:DateEditSettings DisplayFormat="d" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn x:Name="colHoursActive" FieldName="HoursActive" Width="70" Validate="colHoursActive_Validate">
                    <dxg:GridColumn.EditSettings>
                        <dxe:TextEditSettings GetIsActivatingKey="TextEditSettings_GetIsActivatingKey" ProcessActivatingKey="TextEditSettings_ProcessActivatingKey" MaskType="Numeric" Mask="d" HorizontalContentAlignment="Center">
                        </dxe:TextEditSettings>
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn x:Name="colHasAttachment" FieldName="HasAttachment" Width="50" HeaderTemplate="{StaticResource clipTemplate}" />
            </dxg:GridControl.Columns>
            <dxg:GridControl.GroupSummary>
                <dxg:GridSummaryItem FieldName="HoursActive" SummaryType="Average" />
                <dxg:GridSummaryItem FieldName="From" SummaryType="Count" />
            </dxg:GridControl.GroupSummary>
            <dxg:GridControl.TotalSummary>
                <dxg:GridSummaryItem FieldName="From" SummaryType="Count" />
                <dxg:GridSummaryItem FieldName="HoursActive" SummaryType="Average" />
            </dxg:GridControl.TotalSummary>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!Eusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using DevExpress.Xpf.Grid;
using DevExpress.XtraEditors.DXErrorProvider;
using System.Windows.Markup;
using DevExpress.Xpf.Editors.Settings;
using System.Collections;
using DevExpress.Xpf.Core;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.DemoBase;

namespace GridDemo {
    [CodeFile("Controls/Converters.(cs)")]
    [CodeFile("ModuleResources/InplaceEditorsTemplates(.SL).xaml")]
    public partial class InplaceEditors : GridDemoModule {
        public InplaceEditors() {
            InitializeComponent();
            ComboBoxEditSettings settings = new ComboBoxEditSettings() { IsTextEditable = false };
            settings.ItemsSource = DevExpress.Data.Mask.EnumHelper.GetValues(typeof(Priority));
            colPriority.EditSettings = settings;
            grid.ItemsSource = OutlookDataGenerator.CreateOutlookDataTable(1000);
            booleanColumnEditorListBox.EditValueChanged += new EditValueChangedEventHandler(booleanColumnEditorListBox_EditValueChanged);
            editorButtonShowModeListBox.EditValueChanged += new EditValueChangedEventHandler(editorButtonShowModeListBox_EditValueChanged);
            alternativeDisplayTemplateCheckBox.IsChecked = true;
            alternativeEditTemplateCheckBox.IsChecked = true;
            editorShowModeCombobox.EditValueChanged += new EditValueChangedEventHandler(editorShowModeCombobox_EditValueChanged);

            ComboBoxEditSettings comboBoxEditSettings = new ComboBoxEditSettings();
            comboBoxEditSettings.ValueMember = "Id";
            comboBoxEditSettings.DisplayMember = "Name";
            comboBoxEditSettings.ItemsSource = (Resources["DemoDataProvider"] as DemoDataProvider).Users;
            comboBoxEditSettings.SetBinding(ComboBoxEditSettings.IsTextEditableProperty, new Binding("IsChecked") { Source = autoCompleteCheckBox, Mode = BindingMode.TwoWay });
            comboBoxEditSettings.SetBinding(ComboBoxEditSettings.AutoCompleteProperty, new Binding("IsChecked") { Source = autoCompleteCheckBox, Mode = BindingMode.TwoWay });
            comboBoxEditSettings.SetBinding(ComboBoxEditSettings.ImmediatePopupProperty, new Binding("IsChecked") { Source = immediatePopupCheckBox, Mode = BindingMode.TwoWay });
            colUserId.EditSettings = comboBoxEditSettings;
        }
#region options
        void editorShowModeCombobox_EditValueChanged(object sender, EditValueChangedEventArgs e) {
            UpdateEditorShowMode();
        }
        void booleanColumnEditorListBox_EditValueChanged(object sender, EditValueChangedEventArgs e) {
            if(booleanColumnEditorListBox.SelectedIndex == 0) {
                colHasAttachment.EditSettings = null;
            }
            if(booleanColumnEditorListBox.SelectedIndex == 1) {
                colHasAttachment.EditSettings = new TextEditSettings();
            }
            if(booleanColumnEditorListBox.SelectedIndex == 2) {
                colHasAttachment.EditSettings = new ComboBoxEditSettings() { ItemsSource = new bool[] { true, false } };
            }
        }
        void editorButtonShowModeListBox_EditValueChanged(object sender, EditValueChangedEventArgs e) {
            UpdateEditorButtonShowMode();
        }
        void UpdateEditorButtonShowMode() {
            if(editorButtonShowModeListBox.SelectedIndex == 0) {
                grid.View.EditorButtonShowMode = EditorButtonShowMode.ShowOnlyInEditor;
            }
            if(editorButtonShowModeListBox.SelectedIndex == 1) {
                grid.View.EditorButtonShowMode = EditorButtonShowMode.ShowForFocusedCell;
            }
            if(editorButtonShowModeListBox.SelectedIndex == 2) {
                grid.View.EditorButtonShowMode = EditorButtonShowMode.ShowForFocusedRow;
            }
            if(editorButtonShowModeListBox.SelectedIndex == 3) {
                grid.View.EditorButtonShowMode = EditorButtonShowMode.ShowAlways;
            }
        }
        void UpdateEditorShowMode() {
            if(editorShowModeCombobox.SelectedIndex == 0) {
                grid.View.EditorShowMode = EditorShowMode.MouseDown;
            }
            if(editorShowModeCombobox.SelectedIndex == 1) {
                grid.View.EditorShowMode = EditorShowMode.MouseDownFocused;
            }
            if(editorShowModeCombobox.SelectedIndex == 2) {
                grid.View.EditorShowMode = EditorShowMode.MouseUp;
            }
            if(editorShowModeCombobox.SelectedIndex == 3) {
                grid.View.EditorShowMode = EditorShowMode.MouseUpFocused;
            }
        }
        private void colHoursActive_Validate(object sender, GridCellValidationEventArgs e) {
            double value = Convert.ToDouble(e.Value, e.Culture);
            if(value <= 0 || 1000 < value) {
                e.SetError("The Hours Active value must be greater than zero and less than or equal to 1000", ErrorType.Default);
            }
        }
#endregion
#region colHoursActive options
        private void alternativeDisplayTemplateCheckBox_Checked(object sender, RoutedEventArgs e) {
            colHoursActive.DisplayTemplate = (ControlTemplate)Resources["alternativeHoursActiveDisplayTemplate"];
        }
        private void alternativeDisplayTemplateCheckBox_Unchecked(object sender, RoutedEventArgs e) {
            colHoursActive.DisplayTemplate = null;
        }
        private void alternativeEditTemplateCheckBox_Checked(object sender, RoutedEventArgs e) {
            colHoursActive.EditTemplate = (ControlTemplate)Resources["alternativeHoursActiveEditTemplate"];
        }
        private void alternativeEditTemplateCheckBox_Unchecked(object sender, RoutedEventArgs e) {
            colHoursActive.EditTemplate = null;
        }
#endregion
#region custom edit template events
        private void TextEditSettings_GetIsActivatingKey(object sender, GetIsActivatingKeyEventArgs e) {
            switch(e.Key) {
                case Key.Add:
                case Key.Subtract:
                    e.IsActivatingKey = (e.Modifiers == ModifierKeys.None) || (e.Modifiers == ModifierKeys.Control);
                    break;
            }
        }
        private void TextEditSettings_ProcessActivatingKey(object sender, ProcessActivatingKeyEventArgs e) {
        }
#endregion
    }
}!�
<dxdemo:GridDemoModule x:Class="GridDemo.InplaceLookUpEdit" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:local="clr-namespace:GridDemo" 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:dxdemo="clr-namespace:GridDemo" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib">
    <dxdemo:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/ModuleResources/InplaceLookUpEditResources.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
            <dxdb:NWindDataLoader x:Key="NWindDataLoader" />
        </ResourceDictionary>
    </dxdemo:GridDemoModule.Resources>
    <dxdb:DemoModuleControl>
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel MinWidth="250">
                <dx:GroupFrame Header="Properties" Margin="0,0,0,12">
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="Auto" />
                            <ColumnDefinition />
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                            <RowDefinition />
                            <RowDefinition />
                            <RowDefinition />
                            <RowDefinition />
                        </Grid.RowDefinitions>

                        <dxe:CheckEdit Content="Immediate pop-up" Grid.ColumnSpan="2" Grid.Row="1" Margin="0,0,0,4" Name="chkImmediatePopup" IsChecked="True" />
                        <dxe:CheckEdit Content="Allow auto complete" Grid.ColumnSpan="2" Grid.Row="2" Margin="0,0,0,4" Name="chkAllowAutoComplete" IsChecked="True" />
                    </Grid>
                </dx:GroupFrame>
            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl Name="grid" ItemsSource="{Binding Orders, Source={StaticResource NWindDataLoader}}">
            <dxg:GridControl.Columns>
                <dxg:GridColumn FieldName="OrderID" Header="ID" Width="50" MinWidth="30" />
                <dxg:GridColumn FieldName="CustomerID" Header="Customer" MinWidth="50" Width="180" HeaderTemplate="{StaticResource headerTemplate}">

                </dxg:GridColumn>
                <dxg:GridColumn FieldName="EmployeeID" Header="Employee" MinWidth="50" HeaderTemplate="{StaticResource headerTemplate}">

                </dxg:GridColumn>
                <dxg:GridColumn FieldName="OrderDate" MinWidth="30" />
                <dxg:GridColumn FieldName="RequiredDate" MinWidth="30" />
            </dxg:GridControl.Columns>
            <dxg:GridControl.View>
                <dxg:TableView Name="view" AutoWidth="true" />
            </dxg:GridControl.View>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</dxdemo:GridDemoModule>!�using System;
using System.Windows.Controls;
using System.Windows.Data;
using DevExpress.Xpf.Grid;
using System.Collections;
using DevExpress.Xpf.Grid.LookUp;
using DevExpress.Xpf.DemoBase;

namespace GridDemo {
    [CodeFile("ModuleResources/InplaceLookUpEditResources(.SL).xaml")]
    [CodeFile("ModuleResources/InplaceLookUpEditClasses.(cs)")]
    public partial class InplaceLookUpEdit : GridDemoModule {
        public InplaceLookUpEdit() {
            InitializeComponent();
            grid.Columns["CustomerID"].EditSettings = CreateLookUpEditSettings("CustomerID", "CompanyName", (IEnumerable)((Resources["NWindDataLoader"] as NWindDataLoader).Customers), Resources["customerGridTemplate"] as ControlTemplate);
            grid.Columns["EmployeeID"].EditSettings = CreateLookUpEditSettings("EmployeeID", "LastName", (IEnumerable)((Resources["NWindDataLoader"] as NWindDataLoader).EmployeesNew), Resources["employeeGridTemplate"] as ControlTemplate);
        }
        LookUpEditSettings CreateLookUpEditSettings(string valueMember, string displayMember, IEnumerable itemsSource, ControlTemplate contentTemplate) {
            LookUpEditSettings settings = new LookUpEditSettings() { AutoPopulateColumns = false, IsPopupAutoWidth = false, DisplayMember = displayMember, ValueMember = valueMember, ItemsSource = itemsSource, PopupContentTemplate = contentTemplate };
            settings.SetBinding(LookUpEditSettings.AutoCompleteProperty, new Binding("IsChecked") { Source = chkAllowAutoComplete, Mode = BindingMode.TwoWay });
            settings.SetBinding(LookUpEditSettings.ImmediatePopupProperty, new Binding("IsChecked") { Source = chkImmediatePopup, Mode = BindingMode.TwoWay });
            return settings;
        }
        protected override void RaiseModuleAppear() {
            base.RaiseModuleAppear();
            ShowLookUp();
        }
        protected override void Clear() {
            view.CloseEditor();
            base.Clear();
        }
        void ShowLookUp() {
            grid.CurrentColumn = grid.Columns["CustomerID"];
            view.ShowEditor();
            LookUpEdit lookUpEdit = view.ActiveEditor as LookUpEdit;
            if(lookUpEdit != null)
                lookUpEdit.ShowPopup();
        }
    }
}!�<local:GridDemoModule x:Class="GridDemo.LargeDataSet" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" xmlns:local="clr-namespace:GridDemo" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib" 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:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008">

    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/Themes/generic.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
            <dx:FormatStringConverter x:Key="converter" FormatString="#,#" />
            <DataTemplate x:Key="countInfoTemplate">
                <dx:DXDockPanel LastChildFill="False" Width="150">
                    <TextBlock Text="{Binding Description}" dx:DXDockPanel.Dock="Left" />
                    <TextBlock Text="{Binding Value, Converter={StaticResource converter}}" dx:DXDockPanel.Dock="Right" />
                </dx:DXDockPanel>
            </DataTemplate>
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl>
        <dxdb:DemoModuleControl.OptionsTopText>
            Specify the number or Rows and Columns you’d like to view within the DXGrid.
            Group, filter and sort data to see how quickly the grid is able to shape information displayed within it.
        </dxdb:DemoModuleControl.OptionsTopText>
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel>
                <dx:GroupFrame Header="Rows">
                    <dxe:ListBoxEdit Name="rowCountListBox" SelectedIndex="1" ItemTemplate="{StaticResource countInfoTemplate}" ShowBorder="False" Background="{x:Null}">
                        <dxe:ListBoxEdit.StyleSettings>
                            <dxe:RadioListBoxEditStyleSettings />
                        </dxe:ListBoxEdit.StyleSettings>
                        <dxe:ListBoxEdit.Items>
                            <local:CountInfo Value="1000" Description="Small" />
                            <local:CountInfo Value="10000" Description="Medium" />
                            <local:CountInfo Value="100000" Description="Large" />
                            <local:CountInfo Value="1000000" Description="Immense" />
                        </dxe:ListBoxEdit.Items>
                    </dxe:ListBoxEdit>
                </dx:GroupFrame>
                <dx:GroupFrame Header="Columns" Margin="0,12,0,0">
                    <dxe:ListBoxEdit Name="columnCountListBox" SelectedIndex="1" ItemTemplate="{StaticResource countInfoTemplate}" ShowBorder="False" Background="{x:Null}">
                        <dxe:ListBoxEdit.StyleSettings>
                            <dxe:RadioListBoxEditStyleSettings />
                        </dxe:ListBoxEdit.StyleSettings>
                        <dxe:ListBoxEdit.Items>
                            <local:CountInfo Value="50" Description="Small" />
                            <local:CountInfo Value="250" Description="Medium" />
                            <local:CountInfo Value="500" Description="Large" />
                            <local:CountInfo Value="1000" Description="Immense" />
                        </dxe:ListBoxEdit.Items>
                    </dxe:ListBoxEdit>
                </dx:GroupFrame>
                <Button Name="setRowColumnCountButton" Click="setRowColumnCountButton_Click" Margin="0,12,0,0" Height="22">Apply</Button>
            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl Name="grid" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
            <dxg:GridControl.TotalSummary>
                <dxg:GridSummaryItem SummaryType="Count" Alignment="Right" />
            </dxg:GridControl.TotalSummary>
            <dxg:GridControl.View>
                <dxg:TableView ShowFixedTotalSummary="True" Name="view" AllowEditing="True" ShowAutoFilterRow="False" CustomBestFit="view_CustomBestFit">
                    <dxg:TableView.ColumnMenuCustomizations>
                        <dxb:RemoveBarItemAndLinkAction ItemName="BestFitColumns" />
                    </dxg:TableView.ColumnMenuCustomizations>
                </dxg:TableView>
            </dxg:GridControl.View>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!�using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.ComponentModel;
using System.Collections;
using DevExpress.Xpf.Editors.Settings;
using DevExpress.Xpf.Grid;
using DevExpress.Xpf.Editors;
using System.Threading;
using System.Windows.Threading;
using DevExpress.Utils;
using DevExpress.XtraGrid;
using DevExpress.Data.Browsing;
using DevExpress.Xpf.DemoBase;
using PropertyDescriptor = DevExpress.Data.Browsing.PropertyDescriptor;

namespace GridDemo {
    [CodeFile("Controls/OutlookDataGenerator.(cs)")]
    [CodeFile("ModuleResources/LargeDataSetClasses.(cs)")]
    public partial class LargeDataSet : GridDemoModule {
        VirtualList vList = new VirtualList();
        public LargeDataSet() {
            InitializeComponent();
            AssignDataSource();
        }

        void AssignDataSource() {
            setRowColumnCountButton.Cursor = Cursors.Wait;
            vList.RecordCount = ((CountInfo)rowCountListBox.SelectedItem).Value;
            vList.ColumnCount = ((CountInfo)columnCountListBox.SelectedItem).Value;
            grid.ItemsSource = null;
            grid.Columns.Clear();
            grid.Columns.BeginUpdate();
            PropertyDescriptorCollection properties = ((ITypedList)vList).GetItemProperties(null);
            foreach(PropertyDescriptor propertyDescriptor in properties) {
                GridColumn column = new GridColumn();
                column.FieldName = propertyDescriptor.Name;
                if(column.FieldName.Contains("Subject"))
                    column.EditSettings = new MemoEditSettings() {
                        PopupWidth = 300,
                        ShowIcon = false,
                        MemoTextWrapping=TextWrapping.Wrap,
                        MemoVerticalScrollBarVisibility = ScrollBarVisibility.Auto
                    };
                if(column.FieldName.Contains("Priority")) {
                    column.SortMode = ColumnSortMode.Value;
                }
                if(column.FieldName.Contains("Size")) {
                    column.BestFitArea = BestFitArea.Header;
                }
                column.AllowEditing = ((propertyDescriptor.Name == "ID(1)") ? DefaultBoolean.False : DefaultBoolean.Default);
                column.Header = ((propertyDescriptor.Name == "ID(1)") ? "ID(1)" : null);
                column.AllowColumnFiltering = ((propertyDescriptor.Name == "ID(1)") ? DefaultBoolean.False : DefaultBoolean.True);
                BaseEditSettings settings = CreateEditSettings(propertyDescriptor.Name);
                if(settings != null)
                    column.EditSettings = settings;
                grid.Columns.Add(column);
            }
            grid.Columns.EndUpdate();
            grid.ItemsSource = vList;
            Dispatcher.BeginInvoke(
            new Action(ClearCursorProperty));
        }
  void ClearCursorProperty() {
   setRowColumnCountButton.ClearValue(FrameworkElement.CursorProperty);
  }
        BaseEditSettings CreateEditSettings(string propertyName) {
            if(propertyName == "ID(1)")
                return new TextEditSettings() {
                    DisplayFormat = "#,0",
                    HorizontalContentAlignment = EditSettingsHorizontalAlignment.Right
                };
            if(propertyName.StartsWith("Size"))
                return new TextEditSettings() { Mask = "## ##0",
                                                MaskType = MaskType.Numeric,
                                                MaskUseAsDisplayFormat = true,
                                                HorizontalContentAlignment = EditSettingsHorizontalAlignment.Right
                };
            if(propertyName.StartsWith("Priority")) {
                return new ComboBoxEditSettings() {
                    ItemsSource = DevExpress.Data.Mask.EnumHelper.GetValues(typeof(Priority)),
                    IsTextEditable = false
                };
            }
            return null;
        }
        private void setRowColumnCountButton_Click(object sender, RoutedEventArgs e) {
            AssignDataSource();
        }

        private void view_CustomBestFit(object sender, CustomBestFitEventArgs e) {
            if(e.Column.FieldName != "ID(1)")
                return;
            List<int> largestIDHandles = new List<int>();
            for(int i = vList.Count - 1; i >= 0; i--) {
                int rowHanle = grid.GetRowHandleByListIndex(i);
                if(rowHanle != GridControl.InvalidRowHandle)
                    largestIDHandles.Add(rowHanle);
                if(largestIDHandles.Count >= 100)
                    break;
            }
            e.BestFitRows = largestIDHandles;
        }
    }
}!4<local:GridDemoModule x:Class="GridDemo.LiveData" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:local="clr-namespace:GridDemo" 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxgt="http://schemas.devexpress.com/winfx/2008/xaml/grid/themekeys" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008">
    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/ModuleResources/LiveDataTemplates.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl SupressGroupFramePaddingInOptions="False">
        <dxdb:DemoModuleControl.OptionsContent>
            <ContentControl>
                <StackPanel Orientation="Vertical" Margin="0,0,0,12">
                    <dxe:CheckEdit x:Name="chkAllowUpdating" Margin="0,0,0,4" Content="Allow Updating" Checked="CheckBox_Checked" Unchecked="CheckBox_Unchecked" />
                    <dx:GroupFrame Header="Update Mode" Margin="0,0,0,12">
                        <StackPanel Orientation="Vertical">
                            <dxe:ListBoxEdit Margin="0,0,30,0" ShowBorder="False" x:Name="updateModeList" EditValueChanged="updateModeList_EditValueChanged" Background="{x:Null}">
                                <dxe:ListBoxEdit.StyleSettings>
                                    <dxe:RadioListBoxEditStyleSettings />
                                </dxe:ListBoxEdit.StyleSettings>
                                <dxe:ListBoxEdit.Items>
                                    <sys:String>Add, Remove, Update</sys:String>
                                    <sys:String>Add, Remove</sys:String>
                                    <sys:String>Update Only</sys:String>
                                </dxe:ListBoxEdit.Items>
                            </dxe:ListBoxEdit>
                        </StackPanel>
                    </dx:GroupFrame>
                    <dxdb:SliderControl Header="Max Process Count" Margin="0,0,0,12" EditValue="{Binding Path=DataContext.ProcessMaxCount, Mode=TwoWay}" Minimum="10" Maximum="1000" SmallStep="5" LargeStep="50" ValueChanged="maxCountSlider_ValueChanged" />
                    <dxdb:SliderControl Header="Update Interval" Margin="0,0,0,12" UOM="(ms)" EditValue="{Binding Path=DataContext.UpdateInterval, Mode=TwoWay}" Minimum="0" Maximum="1000" SmallStep="50" LargeStep="50" />

                    <dx:GroupFrame Header="Animation options">
                        <StackPanel>
                            <dxe:CheckEdit Name="memoryUsageCheckBox" IsChecked="True" Margin="0,0,0,4" Content="Memory Usage animation" />
                            <dxe:CheckEdit Name="cpuUsageCheckBox" IsChecked="True" Margin="0,0,0,4" Content="CPU Usage animation" />
                            <dxe:CheckEdit Name="newRowCheckBox" IsChecked="True" Margin="0,0,0,4" Content="New row animation" />
                            <dxe:CheckEdit Name="deleteRowCheckBox" IsChecked="True" Margin="0,0,0,0" Content="Delete row animation" />
                        </StackPanel>
                    </dx:GroupFrame>
                </StackPanel>
            </ContentControl>
        </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl Name="grid" Grid.Column="0" CustomUnboundColumnData="grid_CustomUnboundColumnData" DesignTimeDataObjectType="local:ProcessInfo">
            <dxg:GridControl.Columns>
                <dxg:GridColumn FieldName="PID" Width="50" AllowResizing="False" FixedWidth="True" />
                <dxg:GridColumn FieldName="Name" Width="100" FixedWidth="True" />
                <dxg:GridColumn FieldName="MemoryUsage" CellTemplate="{StaticResource memUsageTemplate}" />
                <dxg:GridColumn FieldName="CpuUsage" CellTemplate="{StaticResource progressTemplate}" />

                <dxg:GridColumn FieldName="AnimationElement" UnboundType="Object" Visible="False" ShowInColumnChooser="False" AllowColumnFiltering="False" />
            </dxg:GridControl.Columns>
            <dxg:GridControl.TotalSummary>
                <dxg:GridSummaryItem FieldName="PID" SummaryType="Count" DisplayFormat="Process Count = {0}" Alignment="Right" />
                <dxg:GridSummaryItem FieldName="MemoryUsage" SummaryType="Sum" DisplayFormat="Total Memory Usage = {0} K" Alignment="Left" />
            </dxg:GridControl.TotalSummary>
            <dxg:GridControl.GroupSummary>
                <dxg:GridSummaryItem FieldName="PID" SummaryType="Count" />
                <dxg:GridSummaryItem FieldName="MemoryUsage" SummaryType="Sum" />
            </dxg:GridControl.GroupSummary>
            <dxg:GridControl.View>
                <dxg:TableView NavigationStyle="Row" RowMinHeight="0" AutoWidth="True" Name="view" ShowFixedTotalSummary="True" DataRowTemplate="{StaticResource rowTemplate}" UseAnimationWhenExpanding="False" />
            </dxg:GridControl.View>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!eusing System;
using System.Windows;
using DevExpress.Xpf.DemoBase;
using DevExpress.Xpf.Grid;

namespace GridDemo {
    [CodeFile("ModuleResources/LiveDataClasses.(cs)")]
    [CodeFile("Controls/Converters.(cs)")]
    [CodeFile("ModuleResources/LiveDataTemplates(.SL).xaml")]
    public partial class LiveData : GridDemoModule {
        ProcessGenerator generator;
        public LiveData() {
            InitializeComponent();
            generator = new ProcessGenerator(this);
            generator.Initialize();
            grid.AllowLiveDataShaping = true;
            grid.ItemsSource = generator.Processes;
            grid.DataContext = generator;
            updateModeList.SelectedIndex = 0;
            chkAllowUpdating.IsChecked = true;
        }
        private void CheckBox_Checked(object sender, RoutedEventArgs e) {
            generator.Start();
        }
        private void CheckBox_Unchecked(object sender, RoutedEventArgs e) {
            generator.Stop();
        }
        private void maxCountSlider_ValueChanged(object sender, EventArgs e) {
            if(generator != null)
                generator.ProcessMinCount = Math.Max(5, generator.ProcessMaxCount - 15);
        }

        private void grid_CustomUnboundColumnData(object sender, GridColumnDataEventArgs e) {
            if(e.Column != null || e.Column.FieldName == "AnimationElement") {
                e.Value = generator.GetAnimationElement(generator.Processes[e.ListSourceRowIndex]);
            }
        }
        protected override void Clear() {
            base.Clear();
            generator.Stop();
        }
        private void updateModeList_EditValueChanged(object sender, DevExpress.Xpf.Editors.EditValueChangedEventArgs e) {
            generator.UpdateMode = (ProcessGenerator.ProcessUpdateMode)updateModeList.SelectedIndex;
        }
    }
}!�<dxdemo:CommonDemoModule x:Class="CommonDemo.LookUpEdit" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:common="clr-namespace:CommonDemo" 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:dxdemo="clr-namespace:CommonDemo" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib">
    <dxdemo:CommonDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="../ModuleResources/LookUpEditTemplates.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </dxdemo:CommonDemoModule.Resources>
    <dxdb:DemoModuleControl DataContext="{Binding Path=ProductsNew, Source={StaticResource NWindDataLoader}}">
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel MinWidth="250">
                <dx:GroupFrame Header="Editor Properties" Margin="0,0,0,12">
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="Auto" />
                            <ColumnDefinition />
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                            <RowDefinition />
                            <RowDefinition />
                            <RowDefinition />
                            <RowDefinition />
                            <RowDefinition />
                            <RowDefinition />
                            <RowDefinition />
                        </Grid.RowDefinitions>
                        <TextBlock Text="Edit Value:" VerticalAlignment="Center" Margin="0,0,6,4" />
                        <dxe:TextEdit IsReadOnly="True" Grid.Column="1" Margin="0,0,0,4">
                            <dxe:TextEdit.Text>
                                <Binding Path="EditValue" ElementName="lookUpEdit">

                                </Binding>
                            </dxe:TextEdit.Text>
                        </dxe:TextEdit>
                        <TextBlock Text="Display Member:" Grid.Row="1" VerticalAlignment="Center" Margin="0,0,6,4" />
                        <dxe:TextEdit x:Name="txtDisplayMember" Grid.Row="1" Grid.Column="1" Margin="0,0,0,4" IsReadOnly="True" Text="ProductName" />
                        <TextBlock Text="Value Member:" Grid.Row="2" VerticalAlignment="Center" Margin="0,0,6,4" />
                        <dxe:TextEdit x:Name="txtValueMember" IsReadOnly="true" Text="ProductID" Grid.Row="2" Grid.Column="1" Margin="0,0,0,4" />

                        <dxe:CheckEdit Content="Immediate Popup" Grid.ColumnSpan="2" Grid.Row="5" Margin="0,0,0,4" IsChecked="{Binding Path=ImmediatePopup, Mode=TwoWay}" />
                        <dxe:CheckEdit Content="Allow Processing of New Value" x:Name="chProcessNewValue" Grid.ColumnSpan="2" Grid.Row="6" Margin="0,0,0,4" />
                    </Grid>
                </dx:GroupFrame>
                <dx:GroupFrame Header="Search Properties" Margin="0,0,0,12">
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="Auto" />
                            <ColumnDefinition />
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                            <RowDefinition />
                            <RowDefinition />
                            <RowDefinition />
                            <RowDefinition />
                        </Grid.RowDefinitions>
                        <dxe:CheckEdit Content="Allow Auto Complete" Grid.ColumnSpan="2" Grid.Row="0" Margin="0,0,0,4" EditValue="{Binding Path=AutoComplete, Mode=TwoWay}" />
                        <dxe:CheckEdit Content="Allow Incremental Filtering" Grid.ColumnSpan="2" Grid.Row="1" Margin="0,0,0,4" EditValue="{Binding Path=IncrementalFiltering, Mode=TwoWay}" />
                        <TextBlock Text="Auto Search Text:" VerticalAlignment="Center" Grid.Row="2" Grid.Column="0" Margin="0,0,6,4" />
                        <dxe:TextEdit IsReadOnly="True" Grid.Row="2" Grid.Column="1" EditValue="{Binding Path=AutoSearchText, Mode=OneWay}" Margin="0,0,0,4" />
                    </Grid>
                </dx:GroupFrame>
            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <Grid Margin="48,40,48,48">
            <Grid.RowDefinitions>
                <RowDefinition Height="0.25*" />
                <RowDefinition Height="0.75*" />
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="300" />
                <ColumnDefinition Width="*" />
            </Grid.ColumnDefinitions>
            <dx:GroupFrame Header="Multi-Column Lookup Editor" Grid.Row="0" Grid.Column="1" VerticalAlignment="Top">
                <dxg:LookUpEdit Name="lookUpEdit" VerticalAlignment="Center" ShowSizeGrip="True" SelectedIndex="1" AutoPopulateColumns="False" PopupContentTemplate="{StaticResource gridTemplate}" IsPopupAutoWidth="False" ProcessNewValue="lookUpEdit_ProcessNewValue" ItemsSource="{Binding}" DisplayMember="{Binding Path=EditValue, ElementName=txtDisplayMember}" ValueMember="{Binding Path=EditValue, ElementName=txtValueMember}" PopupMaxWidth="600">
                </dxg:LookUpEdit>
            </dx:GroupFrame>
        </Grid>
    </dxdb:DemoModuleControl>
</dxdemo:CommonDemoModule>!z	using System;
using System.Windows;
using System.Windows.Controls;
using DevExpress.Xpf.DemoBase;
using System.Collections;
using DevExpress.Xpf.Core;
using DevExpress.Utils;


namespace CommonDemo {
   [CodeFile("ModuleResources/LookUpEditTemplates(.SL).xaml")]
    public partial class LookUpEdit : CommonDemoModule {
        NWindDataLoader NWind { get; set; }
        string GenericXamlName { get { return "Generic.SL.xaml"; } }
        IList Categories { get { return (IList)NWind.Categories; } }
        IList Products { get { return (IList)lookUpEdit.DataContext; } }
        int NewItemRowID { get { return Products.Count + 1; } }
        public LookUpEdit() {
            Resources.MergedDictionaries.Add(new ResourceDictionary() { Source = new Uri(string.Format("/{0};component/Themes/{1}", AssemblyHelper.GetPartialName(typeof(LookUpEdit).Assembly), GenericXamlName), UriKind.Relative) });
            InitializeComponent();
            NWind = Resources["NWindDataLoader"] as NWindDataLoader;
        }
        Control control;
        private void lookUpEdit_ProcessNewValue(DependencyObject sender, DevExpress.Xpf.Editors.ProcessNewValueEventArgs e) {
            if(!(bool)chProcessNewValue.IsChecked)
                return;

            control = new ContentControl { Template = (ControlTemplate)Resources["addNewRecordTemplate"], Tag = e };
            DevExpress.Xpf.DemoBase.NWind.Products row = new DevExpress.Xpf.DemoBase.NWind.Products();
            row.ProductName = e.DisplayText;
            row.ProductID = NewItemRowID;

            control.DataContext = row;
            FrameworkElement owner = sender as FrameworkElement;
            DialogClosedDelegate closeHandler = CloseAddNewRecordHandler;

            FloatingContainer.ShowDialogContent(control, owner, Size.Empty, new FloatingContainerParameters()
            {
                Title = "Add New Record",
                AllowSizing = false,
                ClosedDelegate = closeHandler
            });
            e.PostponedValidation = true;
            e.Handled = true;
        }

        void CloseAddNewRecordHandler(bool? close) {
            if(close != null && (bool)close)
                Products.Add(control.DataContext);
            control = null;
        }
        protected override object GetModuleDataContext() {
            return lookUpEdit;
        }
    }
}![1<local:GridDemoModule x:Class="GridDemo.MasterDetailView" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" xmlns:local="clr-namespace:GridDemo" 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxgt="http://schemas.devexpress.com/winfx/2008/xaml/grid/themekeys" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:sys="clr-namespace:System;assembly=mscorlib">
    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/Themes/generic.SL.xaml" />
                <ResourceDictionary Source="/GridDemo;component/Controls/ControlStyles/MasterDetailTemplates.SL.xaml" />
                <ResourceDictionary Source="/GridDemo;component/ModuleResources/SharedResources.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
            <local:MasterDetailViewModel x:Key="viewModel" />
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl SupressGroupFramePaddingInOptions="False">
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel MinWidth="200">
                <StackPanel DataContext="{StaticResource viewModel}">
                    <dxe:CheckEdit IsChecked="{Binding AllowPerPixelScrolling, ElementName=view, Mode=TwoWay}" Margin="10,0,0,5">Allow Per Pixel Scrolling</dxe:CheckEdit>
                    <dxe:CheckEdit IsChecked="{Binding ShowFixedTotalSummary, ElementName=view, Mode=TwoWay}" Margin="10,0,0,5">Show Total Summary</dxe:CheckEdit>
                    <dxe:CheckEdit IsChecked="{Binding ShowDetailButtons, Mode=TwoWay}" Margin="10,0,0,5">Show Detail Buttons</dxe:CheckEdit>
                    <dxe:CheckEdit x:Name="DetailContentCheck" IsChecked="True" Margin="10,0,0,5">Show Detail Content</dxe:CheckEdit>
                </StackPanel>
                <dx:GroupFrame Header="Orders Detail Options" Margin="0,10,0,0" VerticalAlignment="Top" DataContext="{StaticResource viewModel}">
                    <StackPanel>
                        <dxe:CheckEdit IsChecked="{Binding ShowOrdersColumnHeaders, Mode=TwoWay}" Margin="0,0,0,5">Show Column Headers</dxe:CheckEdit>
                        <dxe:CheckEdit IsChecked="{Binding ShowOrdersSummaries, Mode=TwoWay}">Show Total Summary</dxe:CheckEdit>
                    </StackPanel>
                </dx:GroupFrame>
                <dx:GroupFrame Header="Invoices Detail Options" Margin="0,10,0,0" VerticalAlignment="Top" DataContext="{StaticResource viewModel}">
                    <StackPanel>
                        <dxe:CheckEdit IsChecked="{Binding ShowInvoicesColumnHeaders, Mode=TwoWay}" Margin="0,0,0,5">Show Column Headers</dxe:CheckEdit>
                        <dxe:CheckEdit IsChecked="{Binding ShowInvoicesSummaries, Mode=TwoWay}">Show Total Summary</dxe:CheckEdit>
                    </StackPanel>
                </dx:GroupFrame>
                <dx:GroupFrame Header="Customers Detail Options" Margin="0,10,0,0" VerticalAlignment="Top" DataContext="{StaticResource viewModel}">
                    <StackPanel>
                        <dxe:CheckEdit IsChecked="{Binding ShowCustomersColumnHeaders, Mode=TwoWay}" Margin="0,0,0,5">Show Column Headers</dxe:CheckEdit>
                        <dxe:CheckEdit IsChecked="{Binding ShowCustomersSummaries, Mode=TwoWay}">Show Total Summary</dxe:CheckEdit>
                    </StackPanel>
                </dx:GroupFrame>
            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl x:Name="grid" ItemsSource="{Binding Employees}" DataContext="{StaticResource viewModel}">
            <dxg:GridControl.DetailDescriptor>
                <dxg:TabViewDetailDescriptor ShowHeader="False">
                    <dxg:TabViewDetailDescriptor.ContentTemplate>
                        <Binding Path="IsChecked" ElementName="DetailContentCheck">
                            <Binding.Converter>
                                <dx:BoolToObjectConverter TrueValue="{StaticResource tabViewDetailDescriptorContentTemplate}" />
                            </Binding.Converter>
                        </Binding>
                    </dxg:TabViewDetailDescriptor.ContentTemplate>
                    <dxg:TabViewDetailDescriptor.DetailDescriptors>
                        <dxg:DataControlDetailDescriptor ItemsSourceBinding="{Binding MDOrders}" ShowHeader="false">
                            <dxg:GridControl>
                                <dxg:GridControl.DetailDescriptor>
                                    <dxg:DataControlDetailDescriptor ShowHeader="False" ItemsSourceBinding="{Binding Invoices}">
                                        <dxg:GridControl>
                                            <dxg:GridControl.Columns>
                                                <dxg:GridColumn FieldName="ProductName" />
                                                <dxg:GridColumn FieldName="UnitPrice" />
                                                <dxg:GridColumn FieldName="Quantity" />
                                                <dxg:GridColumn FieldName="Total" UnboundType="Decimal" UnboundExpression="[UnitPrice]*[Quantity]" Header="Total" />
                                            </dxg:GridControl.Columns>
                                            <dxg:GridControl.View>
                                                <dxg:TableView VerticalScrollbarVisibility="Auto" AutoWidth="True" NavigationStyle="Row" DetailHeaderContent="Invoices" ShowGroupPanel="False" ShowFixedTotalSummary="{Binding ShowInvoicesSummaries, Source={StaticResource viewModel}}" ShowColumnHeaders="{Binding ShowInvoicesColumnHeaders, Source={StaticResource viewModel}}" />
                                            </dxg:GridControl.View>
                                            <dxg:GridControl.TotalSummary>
                                                <dxg:GridSummaryItem SummaryType="Count" Alignment="Left" />
                                                <dxg:GridSummaryItem FieldName="Total" SummaryType="Sum" Alignment="Right" />
                                            </dxg:GridControl.TotalSummary>
                                        </dxg:GridControl>
                                    </dxg:DataControlDetailDescriptor>
                                </dxg:GridControl.DetailDescriptor>
                                <dxg:GridControl.Columns>
                                    <dxg:GridColumn FieldName="OrderDate" />
                                    <dxg:GridColumn FieldName="Freight" />
                                    <dxg:GridColumn FieldName="ShipName" />
                                    <dxg:GridColumn FieldName="ShipCountry" CellTemplate="{StaticResource colCountryCellTemplate}" />
                                    <dxg:GridColumn FieldName="ShipCity" />
                                    <dxg:GridColumn FieldName="ShipAddress" />
                                </dxg:GridControl.Columns>
                                <dxg:GridControl.View>
                                    <dxg:TableView VerticalScrollbarVisibility="Auto" AutoWidth="True" NavigationStyle="Row" DetailHeaderContent="Orders" ShowGroupPanel="False" ShowFixedTotalSummary="{Binding ShowOrdersSummaries}" ShowColumnHeaders="{Binding ShowOrdersColumnHeaders}" ShowDetailButtons="{Binding ShowDetailButtons, Converter={StaticResource booleanToDefaultBooleanConverter}}" />
                                </dxg:GridControl.View>
                                <dxg:GridControl.TotalSummary>
                                    <dxg:GridSummaryItem FieldName="Freight" SummaryType="Sum" Alignment="Right" />
                                </dxg:GridControl.TotalSummary>
                            </dxg:GridControl>
                        </dxg:DataControlDetailDescriptor>
                        <dxg:DataControlDetailDescriptor ItemsSourceBinding="{Binding MDCustomers}" ShowHeader="false">
                            <dxg:GridControl>
                                <dxg:GridControl.Columns>
                                    <dxg:GridColumn FieldName="ContactName" />
                                    <dxg:GridColumn FieldName="Country" CellTemplate="{StaticResource colCountryCellTemplate}" />
                                    <dxg:GridColumn FieldName="City" />
                                    <dxg:GridColumn FieldName="Address" />
                                    <dxg:GridColumn FieldName="Phone" />
                                </dxg:GridControl.Columns>
                                <dxg:GridControl.GroupSummary>
                                    <dxg:GridSummaryItem FieldName="MDOrders.Count" SummaryType="Sum" />
                                </dxg:GridControl.GroupSummary>
                                <dxg:GridControl.View>
                                    <dxg:TableView VerticalScrollbarVisibility="Auto" AutoWidth="True" NavigationStyle="Row" DetailHeaderContent="Customers" ShowGroupPanel="False" ShowFixedTotalSummary="{Binding ShowCustomersSummaries}" ShowColumnHeaders="{Binding ShowCustomersColumnHeaders}" />
                                </dxg:GridControl.View>
                                <dxg:GridControl.TotalSummary>
                                    <dxg:GridSummaryItem SummaryType="Count" Alignment="Left" />
                                </dxg:GridControl.TotalSummary>
                            </dxg:GridControl>
                        </dxg:DataControlDetailDescriptor>
                        <dxg:ContentDetailDescriptor ShowHeader="False" HeaderContent="Stats" ContentTemplate="{StaticResource employeeStatsTemplate}" />

                    </dxg:TabViewDetailDescriptor.DetailDescriptors>
                </dxg:TabViewDetailDescriptor>
            </dxg:GridControl.DetailDescriptor>
            <dxg:GridControl.View>
                <dxg:TableView x:Name="view" AllowPerPixelScrolling="True" AutoWidth="True" NavigationStyle="Cell" DetailHeaderContent="Employees" ShowFixedTotalSummary="True" ShowDetailButtons="{Binding ShowDetailButtons, Converter={StaticResource booleanToDefaultBooleanConverter}}">
                    <i:Interaction.Triggers>
                        <i:EventTrigger EventName="Loaded">
                            <i:InvokeCommandAction CommandName="ExpandMasterRow" CommandParameter="1" Command="{Binding Commands.ExpandMasterRow, ElementName=view}" />
                        </i:EventTrigger>
                    </i:Interaction.Triggers>
                </dxg:TableView>
            </dxg:GridControl.View>
            <dxg:GridControl.Columns>
                <dxg:GridColumn FieldName="FullName" ReadOnly="True" MinWidth="60" HeaderTemplate="{StaticResource ColumnHeaderTemplate}" />
                <dxg:GridColumn FieldName="Title" Header="JobTitle" HeaderTemplate="{StaticResource ColumnHeaderTemplate}" />
                <dxg:GridColumn FieldName="Region" Header="Country" MinWidth="60" CellTemplate="{StaticResource colCountryCellTemplate}" HeaderTemplate="{StaticResource ColumnHeaderTemplate}" />
                <dxg:GridColumn FieldName="BirthDate" MinWidth="60" HeaderTemplate="{StaticResource ColumnHeaderTemplate}">
                    <dxg:GridColumn.EditSettings>
                        <dxe:DateEditSettings DisplayFormat="d" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn FieldName="EMail" Header="Contacts" Width="195" HeaderTemplate="{StaticResource ColumnHeaderTemplate}" />
            </dxg:GridControl.Columns>
            <dxg:GridControl.TotalSummary>
                <dxg:GridSummaryItem SummaryType="Count" Alignment="Right" />
            </dxg:GridControl.TotalSummary>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!�using DevExpress.Xpf.DemoBase;

namespace GridDemo {
    [CodeFile("ModuleResources/SharedResources(.SL).xaml")]
    [CodeFile("ModuleResources/MasterDetailViewModel.(cs)")]
    [CodeFile("Controls/ControlStyles/MasterDetailTemplates(.SL).xaml")]
    [CodeFile("Controls/Converters.(cs)")]
    public partial class MasterDetailView : GridDemoModule {
        public MasterDetailView() {
            InitializeComponent();
        }
    }
}!G<local:GridDemoModule x:Class="GridDemo.MasterDetailWithRIA" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" xmlns:local="clr-namespace:GridDemo" 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxgt="http://schemas.devexpress.com/winfx/2008/xaml/grid/themekeys" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:sys="clr-namespace:System;assembly=mscorlib">
    <local:GridDemoModule.Resources>
        <local:MasterDetailWithRIAViewModel x:Key="viewModel" />
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl>
        <dxg:GridControl Grid.Row="1" Name="grid" AutoGenerateColumns="KeepOld" DataContext="{StaticResource viewModel}" ItemsSource="{Binding ItemsSource}" ShowLoadingPanel="{Binding IsLoading}">
            <dxg:GridControl.DetailDescriptor>
                <dxg:DataControlDetailDescriptor ShowHeader="false" ItemsSourceValueConverter="{Binding OrdersLoadingConverter, Source={StaticResource viewModel}}">
                    <dxg:GridControl>
                        <dxg:GridControl.DetailDescriptor>
                            <dxg:DataControlDetailDescriptor ShowHeader="false" ItemsSourceValueConverter="{Binding OrderDetailsLoadingConverter, Source={StaticResource viewModel}}">
                                <dxg:GridControl>
                                    <dxg:GridControl.Columns>
                                        <dxg:GridColumn FieldName="ProductName" />
                                        <dxg:GridColumn FieldName="UnitPrice" />
                                        <dxg:GridColumn FieldName="Quantity" />
                                        <dxg:GridColumn FieldName="TotalPrice" UnboundType="Decimal" UnboundExpression="[UnitPrice]*[Quantity]" />
                                        <dxg:GridColumn FieldName="Discount" />
                                    </dxg:GridControl.Columns>
                                    <dxg:GridControl.TotalSummary>
                                        <dxg:GridSummaryItem SummaryType="Sum" FieldName="TotalPrice" ShowInColumn="TotalPrice" />
                                        <dxg:GridSummaryItem SummaryType="Sum" FieldName="Quantity" ShowInColumn="Quantity" />
                                        <dxg:GridSummaryItem SummaryType="Count" ShowInColumn="Product.ProductName" />
                                    </dxg:GridControl.TotalSummary>
                                    <dxg:GridControl.View>
                                        <dxg:TableView DetailHeaderContent="Order details" AutoWidth="True" UseAnimationWhenExpanding="true" ShowColumnHeaders="True" AllowFixedColumnMenu="true" ShowTotalSummary="True" />
                                    </dxg:GridControl.View>
                                </dxg:GridControl>
                            </dxg:DataControlDetailDescriptor>
                        </dxg:GridControl.DetailDescriptor>
                        <dxg:GridControl.Columns>
                            <dxg:GridColumn FieldName="OrderDate" />
                            <dxg:GridColumn FieldName="ShippedDate" />
                            <dxg:GridColumn FieldName="ShipPostalCode" />
                            <dxg:GridColumn FieldName="Freight" />
                            <dxg:GridColumn FieldName="ShipCountry" />
                        </dxg:GridControl.Columns>
                        <dxg:GridControl.TotalSummary>
                            <dxg:GridSummaryItem SummaryType="Sum" FieldName="Freight" ShowInColumn="Freight" />
                            <dxg:GridSummaryItem SummaryType="Count" ShowInColumn="OrderDate" />
                        </dxg:GridControl.TotalSummary>
                        <dxg:GridControl.View>
                            <dxg:TableView DetailHeaderContent="Orders" UseAnimationWhenExpanding="true" ShowColumnHeaders="True" AllowFixedColumnMenu="true" AutoWidth="True" ShowTotalSummary="True" />
                        </dxg:GridControl.View>
                    </dxg:GridControl>
                </dxg:DataControlDetailDescriptor>
            </dxg:GridControl.DetailDescriptor>
            <dxg:GridControl.Columns>
                <dxg:GridColumn FieldName="ContactName" />
                <dxg:GridColumn FieldName="Country" />
                <dxg:GridColumn FieldName="City" />
                <dxg:GridColumn FieldName="Address" />
                <dxg:GridColumn FieldName="PostalCode" />
                <dxg:GridColumn FieldName="CustomerID" />
            </dxg:GridControl.Columns>
            <dxg:GridControl.TotalSummary>
                <dxg:GridSummaryItem SummaryType="Count" ShowInColumn="ContactName" />
            </dxg:GridControl.TotalSummary>
            <dxg:GridControl.View>
                <dxg:TableView DetailHeaderContent="Customers" AllowPerPixelScrolling="true" AllowFixedGroups="true" NavigationStyle="Cell" AllowFixedColumnMenu="true" AutoWidth="True" Name="masterView" ShowTotalSummary="True">
                    <i:Interaction.Triggers>
                        <i:EventTrigger EventName="SourceLoaded" SourceObject="{StaticResource viewModel}">
                            <i:InvokeCommandAction CommandName="ExpandMasterRow" CommandParameter="1" Command="{Binding Commands.ExpandMasterRow, ElementName=masterView}" />
                        </i:EventTrigger>
                    </i:Interaction.Triggers>
                </dxg:TableView>
            </dxg:GridControl.View>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!using DevExpress.Xpf.DemoBase;

namespace GridDemo {
    [CodeFile("ModuleResources/MasterDetailWithRIAViewModel.(cs)")]
    public partial class MasterDetailWithRIA : GridDemoModule {
        public MasterDetailWithRIA() {
            InitializeComponent();
        }
    }
}!f	<local:GridDemoModule x:Class="GridDemo.MultiEditors" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:local="clr-namespace:GridDemo" 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" 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" xmlns:sys="clr-namespace:System;assembly=mscorlib">
    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/Descriptions/MultiEditorDescriptions.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
            <local:CountriesData x:Key="CountriesData" />
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl>
        <dxdb:DemoModuleControl.OptionsContent>
            <dx:GroupFrame Header="Highlighted Editor" MinWidth="150" MaxWidth="230">
                <RichTextBox x:Name="descriptionRichTextBox" Background="Transparent" BorderThickness="0" IsReadOnly="True" />
            </dx:GroupFrame>
        </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl Name="grid">
            <dxg:GridControl.Resources>
                <ResourceDictionary>
                    <ResourceDictionary.MergedDictionaries>
                        <ResourceDictionary Source="/GridDemo;component/ModuleResources/MultiEditorsTemplates.SL.xaml" />
                    </ResourceDictionary.MergedDictionaries>
                </ResourceDictionary>
            </dxg:GridControl.Resources>
            <dxg:GridControl.View>
                <dxg:TableView x:Name="view" ShowGroupPanel="False" AllowSorting="False" AllowColumnFiltering="False" AllowHorizontalScrollingVirtualization="True" ShowGridMenu="TableView_ShowGridMenu" FocusedRowHandleChanged="TableView_FocusedRowChanged" ShowingEditor="TableView_ShowingEditor" />
            </dxg:GridControl.View>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!�using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Media;
using DevExpress.Xpf.DemoBase;
using DevExpress.Xpf.Grid;
using DevExpress.Utils;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Core;
using DevExpress.Xpf.Bars;
using DevExpress.Xpf.DemoBase.DemosHelpers.Grid;
using System.Windows.Input;
using DevExpress.Xpf.Core.Commands;

using PropertyDescriptor = DevExpress.Data.Browsing.PropertyDescriptor;
using DevExpress.Data.Browsing;

namespace GridDemo {
    [CodeFile("Descriptions/MultiEditorDescriptions(.SL).xaml")]
    [CodeFile("ModuleResources/MultiEditorsTemplates(.SL).xaml")]
    [CodeFile("ModuleResources/MultiEditorsClasses.(cs)")]
    public partial class MultiEditors : GridDemoModule {
        MultiEditorsList list;
        public MultiEditors() {
            DataContext = this;
            ButtonEditClickCommand = new DelegateCommand<object>(PART_Editor_DefaultButtonClick);
            InitializeComponent();
            UpdateDescription();
            AssignDataSource();
        }
        void AssignDataSource() {
            list = new MultiEditorsList();

            MultiEditorsTemplateSelector templateSelector = new MultiEditorsTemplateSelector();

            foreach(PropertyDescriptor propertyDescriptor in ((ITypedList)list).GetItemProperties(null)) {
                GridColumn column = new GridColumn() { FieldName = propertyDescriptor.Name };
                if(column.FieldName == "Field") {
                    column.AllowEditing = DefaultBoolean.False;
                    column.Fixed = FixedStyle.Left;
                }
                if(column.FieldName == "TemplateName") {
                    column.Visible = false;
                    column.ShowInColumnChooser = false;
                }
                if(column.FieldName == "EditorType") {
                    column.Fixed = FixedStyle.Right;
                    column.AllowEditing = DefaultBoolean.False;
                    column.Width = 200;
                }
                if(column.FieldName != "Field" && column.FieldName != "EditorType")
                    column.CellTemplateSelector = templateSelector;
                grid.Columns.Add(column);
            }
            grid.ItemsSource = list;
        }

        void PART_Editor_DefaultButtonClick(object param) {
            ListBoxEdit listBoxEdit = new ListBoxEdit() { ItemsSource = NWindData.CountriesArray, ShowBorder = false };
            listBoxEdit.EditValue = grid.GetCellValue(grid.View.FocusedRowHandle, (GridColumn)grid.CurrentColumn);
            DialogClosedDelegate closedHandler = delegate(bool? dialogResult) {
                if(dialogResult == true) {
                    grid.View.ShowEditor();
                    grid.View.ActiveEditor.EditValue = listBoxEdit.EditValue;
                }
            };

            FloatingContainer.ShowDialogContent(listBoxEdit, grid.View.ActiveEditor, new Size(400, 300), new FloatingContainerParameters() { ClosedDelegate = closedHandler, Title = "Select Country" });
        }
        void TableView_ShowGridMenu(object sender, GridMenuEventArgs e) {
            if(e.MenuType == GridMenuType.Column) {
                e.Customizations.Add(new RemoveBarItemAndLinkAction() { ItemName = DefaultColumnMenuItemNames.GroupBox });
                e.Customizations.Add(new RemoveBarItemAndLinkAction() { ItemName = DefaultColumnMenuItemNames.SortAscending });
                e.Customizations.Add(new RemoveBarItemAndLinkAction() { ItemName = DefaultColumnMenuItemNames.SortDescending });
                e.Customizations.Add(new RemoveBarItemAndLinkAction() { ItemName = DefaultColumnMenuItemNames.ClearSorting });
                e.Customizations.Add(new RemoveBarItemAndLinkAction() { ItemName = DefaultColumnMenuItemNames.GroupColumn });
            }
        }

        void TableView_FocusedRowChanged(object sender, FocusedRowHandleChangedEventArgs e) {
            UpdateDescription();
        }
        string lastDescription;
        void UpdateDescription() {
            if(descriptionRichTextBox == null)
                return;
            BlockCollection blocks =
            descriptionRichTextBox.Blocks;
            if(grid.View.FocusedRowHandle == GridControl.InvalidRowHandle)
                return;
            string newDescription = list.FieldDescriptions[grid.View.FocusedRowHandle].TemplateName + "Description";
            if(newDescription == lastDescription)
                return;
            lastDescription = newDescription;
            ContentControl control = new ContentControl() { Template = Resources[newDescription] as ControlTemplate };
            control.ApplyTemplate();
            ParagraphContainer container = VisualTreeHelper.GetChild(control, 0) as ParagraphContainer;

            blocks.Clear();
            blocks.Add(container.Paragraph);
        }
        void TableView_ShowingEditor(object sender, ShowingEditorEventArgs e) {
            e.Cancel = list.FieldDescriptions[grid.View.FocusedRowHandle].TemplateName == "ProgressBarEdit";
        }
        public ICommand ButtonEditClickCommand { get; private set; }
    }
}!�<local:GridDemoModule x:Class="GridDemo.MultipleGrouping" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:local="clr-namespace:GridDemo" 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxet="http://schemas.devexpress.com/winfx/2008/xaml/editors/themekeys" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:dxcon="clr-namespace:DevExpress.Xpf.Editors.Controls;assembly=DevExpress.Xpf.Core.v13.1">
    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/ModuleResources/MultipleGroupingTemplates.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl SupressGroupFramePaddingInOptions="False">
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel>
                <Button HorizontalAlignment="Stretch" dx:DXDockPanel.Dock="Top" Name="groupButton" Click="groupButton_Click" MinWidth="160" Height="22" />
            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl Name="grid" AutoExpandAllGroups="True" DesignTimeDataObjectType="local:Task">
            <dxg:GridControl.Columns>
                <dxg:GridColumn FieldName="Complete" Width="80" AllowResizing="False" FixedWidth="True" />
                <dxg:GridColumn FieldName="TaskName" Width="80" DisplayTemplate="{StaticResource displayTemplate}" EditTemplate="{StaticResource editTemplate}" />
                <dxg:GridColumn FieldName="CategoryName" GroupIndex="0" AllowGrouping="True" Width="150" Header="Category" DisplayTemplate="{StaticResource displayTemplate}" EditTemplate="{StaticResource editTemplate}" ReadOnly="True" />
                <dxg:GridColumn FieldName="DueDate" DisplayTemplate="{StaticResource displayTemplate}" EditTemplate="{StaticResource editTemplate}" />
                <dxg:GridColumn FieldName="PercentComplete" Width="80" Header="% Complete" DisplayTemplate="{StaticResource displayTemplate}" EditTemplate="{StaticResource editTemplate}">
                    <dxg:GridColumn.EditSettings>
                        <dxe:SpinEditSettings MaxValue="100" MinValue="0" MaskType="Numeric" Mask="P0" MaskUseAsDisplayFormat="True">
                        </dxe:SpinEditSettings>
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn FieldName="Note" Visible="False">
                    <dxg:GridColumn.EditSettings>
                        <dxe:MemoEditSettings ShowIcon="True" PopupWidth="250" MemoTextWrapping="Wrap" MemoVerticalScrollBarVisibility="Auto" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
            </dxg:GridControl.Columns>
            <dxg:GridControl.View>
                <dxg:TableView AutoWidth="True" Name="view" ShowGroupedColumns="True" AllowGrouping="False">
                </dxg:TableView>
            </dxg:GridControl.View>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!�using System;
using System.Windows;
using System.Windows.Data;
using GridDemo;
using System.Windows.Markup;
using DevExpress.Xpf.DemoBase;

using DevExpress.Xpf.Core.WPFCompatibility;
using DevExpress.Xpf.Core;
using System.ComponentModel;

namespace GridDemo {
    [CodeFile("ModuleResources/MultipleGroupingTemplates(.SL).xaml")]
    [CodeFile("ModuleResources/MultipleGroupingClasses.(cs)")]
    public partial class MultipleGrouping : GridDemoModule {
        public MultipleGrouping() {
            InitializeComponent();
            gc = new GroupingControllerTasksWithCategories(grid);
            gc.AfterGrouping += new EventHandler(gc_AfterGrouping);
            InitButtonCaption();
        }

        GroupingControllerTasksWithCategories gc;
        void InitButtonCaption() {
            groupButton.Content = gc.IsCategoryGrouping ? " Ungroup by 'Category'" : "Group by 'Category'";
        }
        private void groupButton_Click(object sender, RoutedEventArgs e) {
            if(gc.CategoryColumn == null) {
                groupButton.IsEnabled = false;
                return;
            }
            if(!gc.CategoryColumn.IsGrouped)
                grid.GroupBy(gc.CategoryColumn);
            else grid.UngroupBy(gc.CategoryColumn);

        }
        void gc_AfterGrouping(object sender, EventArgs e) {
            InitButtonCaption();
        }
    }
}!�<local:GridDemoModule x:Class="GridDemo.MultiSelection" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" UseGridControlWrapperAsDataContext="True" xmlns:local="clr-namespace:GridDemo" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008">
 <local:GridDemoModule.Resources>
  <ResourceDictionary>
   <ResourceDictionary.MergedDictionaries>
    <ResourceDictionary Source="/GridDemo;component/Themes/generic.SL.xaml" />
                <ResourceDictionary Source="/GridDemo;component/ModuleResources/MultiSelectionTemplates.SL.xaml" />
   </ResourceDictionary.MergedDictionaries>
            <dxdb:NWindDataLoader x:Key="NWindDataLoader" />

        </ResourceDictionary>
 </local:GridDemoModule.Resources>
 <dxdb:DemoModuleControl SupressGroupFramePaddingInOptions="False">
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel>
                <dxe:CheckEdit x:Name="enableMultiSelectCheckEdit" Content="Enable Multi-Selection" IsChecked="True" Checked="EnableMultiSelectCheckEditChecked" Unchecked="EnableMultiSelectCheckEditUnchecked" />

                <local:MultiSelectionOptionsControl x:Name="ProductsMultiSelectionOptionsControl" Margin="0,12,0,0" Header="Product" ComboBoxItemsSource="{Binding Path=Products, Source={StaticResource NWindDataLoader}}" ComboBoxDisplayMember="ProductName" ComboBoxValueMember="ProductID" />
                <local:MultiSelectionOptionsControl x:Name="PriceMultiSelectionOptionsControl" Margin="0,12,0,0" Header="Price Range" />
                <dx:GroupFrame Header="Selected Records" Margin="0,12,0,0">
                    <dxe:ListBoxEdit x:Name="SelectionRowsListBox" Height="240" Background="{x:Null}" Width="200" ItemsSource="{Binding Path=GridControl.SelectedItems}" ScrollViewer.HorizontalScrollBarVisibility="Visible" ItemTemplate="{StaticResource selectedRowItemTemplate}" />
       </dx:GroupFrame>
            </StackPanel>
     </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl x:Name="grid" ItemsSource="{Binding Path=InvoicesNew, Source={StaticResource NWindDataLoader}}" CustomSummary="grid_CustomSummary" SelectionMode="Row" SelectionChanged="gridView_SelectionChanged" CurrentItemChanged="grid_CurrentItemChanged">
            <dxg:GridControl.Columns>
       <dxg:GridColumn x:Name="colID" FieldName="OrderID" MinWidth="60" Width="60" AllowResizing="False" FixedWidth="true" Header="ID" />
                <dxg:GridColumn x:Name="colProduct" FieldName="ProductID" Header="Product" MinWidth="200" Width="200">
                    <dxg:GridColumn.EditSettings>
                        <dxe:ComboBoxEditSettings AutoComplete="True" ImmediatePopup="True" ValueMember="ProductID" DisplayMember="ProductName" ItemsSource="{Binding Path=Products, Source={StaticResource NWindDataLoader}}" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn x:Name="colUnitPrice" FieldName="UnitPrice" MinWidth="50" Width="50">
        <dxg:GridColumn.EditSettings>
         <dxe:SpinEditSettings MaskType="Numeric" MaskUseAsDisplayFormat="True" Mask="c" MaskCulture="en-US" />
        </dxg:GridColumn.EditSettings>
       </dxg:GridColumn>
       <dxg:GridColumn x:Name="colQuantity" FieldName="Quantity" MinWidth="50" Width="50" />
       <dxg:GridColumn x:Name="colTotal" FieldName="Total" MinWidth="110" Width="110" UnboundType="Decimal" ReadOnly="True" UnboundExpression="[UnitPrice] * [Quantity]">
        <dxg:GridColumn.EditSettings>
         <dxe:TextEditSettings MaskType="Numeric" MaskUseAsDisplayFormat="True" Mask="c" MaskCulture="en-US" />
        </dxg:GridColumn.EditSettings>
       </dxg:GridColumn>
      </dxg:GridControl.Columns>
            <dxg:GridControl.View>
                <dxg:TableView x:Name="defaultView" ShowTotalSummary="True" IsTotalSummaryMenuEnabled="False" ShowGroupedColumns="True" NavigationStyle="Cell" AutoWidth="True" />
            </dxg:GridControl.View>
            <dxg:GridControl.TotalSummary>
       <dxg:GridSummaryItem FieldName="Total" SummaryType="Custom" ShowInColumn="Total" DisplayFormat="Grand Total=${0:N}" />
      </dxg:GridControl.TotalSummary>
      <dxg:GridControl.GroupSummary>
       <dxg:GridSummaryItem FieldName="Total" SummaryType="Custom" DisplayFormat="Grand Total=${0:N}" />
      </dxg:GridControl.GroupSummary>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!�using System.Linq;
using System;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Data;
using DevExpress.Data;
using DevExpress.Xpf.DemoBase;
using DevExpress.Xpf.Grid;
using DevExpress.Xpf.Bars;
using System.Collections;
using DataTable = DevExpress.Xpf.DemoBase.NWind.NWindData<DevExpress.Xpf.DemoBase.NWind.Invoices>;
using DataRow = DevExpress.Xpf.DemoBase.NWind.Invoices;
using DevExpress.Xpf.DemoBase.NWind;

namespace GridDemo {
    [CodeFile("Controls/MiltiSelectionOptionsControl.xaml.(cs)")]
    [CodeFile("Controls/MiltiSelectionOptionsControl(.SL).xaml")]
    [CodeFile("ModuleResources/MultiSelectionClasses.(cs)")]
    [CodeFile("ModuleResources/MultiSelectionTemplates(.SL).xaml")]
    public partial class MultiSelection : GridDemoModule {
        GridViewBase View { get { return (GridViewBase)grid.View; } }
        public MultiSelection() {
            InitializeComponent();
            View.ShowGridMenu += new GridMenuEventHandler(View_ShowGridMenu);
            FillComboBoxes();
            ProductsMultiSelectionOptionsControl.SelectButtonClick += new EventHandler(SelectProductsButtonClick);
            ProductsMultiSelectionOptionsControl.UnselectButtonClick += new EventHandler(UnselectProductsButtonClick);
            ProductsMultiSelectionOptionsControl.ReselectButtonClick += new EventHandler(ReselectProductsButtonClick);
            PriceMultiSelectionOptionsControl.SelectButtonClick += new EventHandler(SelectPriceButtonClick);
            PriceMultiSelectionOptionsControl.UnselectButtonClick += new EventHandler(UnselectPriceButtonClick);
            PriceMultiSelectionOptionsControl.ReselectButtonClick += new EventHandler(ReselectPriceButtonClick);
        }

        void View_ShowGridMenu(object sender, GridMenuEventArgs e) {
            if(e.MenuType == GridMenuType.Column) {
                e.Customizations.Add(new RemoveBarItemAndLinkAction() { ItemName = DefaultColumnMenuItemNames.SortBySummary });
            }
        }

        DataTable dataTableFromGrid = null;
        DataTable DataTableFromGrid {
            get {
                if(dataTableFromGrid == null) {
                    dataTableFromGrid = grid.ItemsSource as NWindData<Invoices>;
                }
                return dataTableFromGrid;
            }
        }
        private void FillComboBoxes() {
            List<Range> listRanges = new List<Range>();
            const int lastRangeMinLimit = 240;
            const int rangeInList = 30;
            for(int i = 0; i <= lastRangeMinLimit; i += rangeInList) {
                listRanges.Add(new Range() { Text = ("$" + Convert.ToString(i) + " - $" + Convert.ToString(i + rangeInList)), Min = i, Max = (i + rangeInList) });
            }
            PriceMultiSelectionOptionsControl.ComboBox.ItemsSource = listRanges;
            PriceMultiSelectionOptionsControl.ComboBox.SelectedIndex = 0;
            ProductsMultiSelectionOptionsControl.ComboBox.SelectedIndex = 0;
        }
        void RunAction(RowFilter FilterDelegate, Action actionForRows) {
            try {
                grid.BeginSelection();
                ICollection rows = DataTableFromGrid;
                foreach(DataRow row in rows) {
                    if(FilterDelegate(row))
                        actionForRows(grid.GetRowHandleByListIndex(DataTableFromGrid.IndexOf(row)));
                }
            } finally {
                grid.EndSelection();
            }
        }
        delegate bool RowFilter(Invoices row);
        bool SelectProductsFilter(Invoices row) {
            return object.Equals((row.ProductID), (int)ProductsMultiSelectionOptionsControl.ComboBox.EditValue);
        }
        bool SelectRangeFilter(Invoices row) {
            Range range = (Range)PriceMultiSelectionOptionsControl.ComboBox.SelectedItem;
            return (((row.UnitPrice >= range.Min) && (row.UnitPrice <= range.Max)));
        }
        delegate void Action(int rowHandle);
        void SelectAction(int rowHandle) {
            grid.SelectItem(rowHandle);
        }
        void UnselectAction(int rowHandle) {
            grid.UnselectItem(rowHandle);
        }
        private void SelectProductsButtonClick(object sender, EventArgs e) {
            RunAction(SelectProductsFilter, SelectAction);
        }
        private void UnselectProductsButtonClick(object sender, EventArgs e) {
            RunAction(SelectProductsFilter, UnselectAction);
        }
        private void ReselectProductsButtonClick(object sender, EventArgs e) {
            grid.UnselectAll();
            RunAction(SelectProductsFilter, SelectAction);
        }
        private void SelectPriceButtonClick(object sender, EventArgs e) {
            RunAction(SelectRangeFilter, SelectAction);
        }
        private void UnselectPriceButtonClick(object sender, EventArgs e) {
            RunAction(SelectRangeFilter, UnselectAction);
        }
        private void ReselectPriceButtonClick(object sender, EventArgs e) {
            grid.UnselectAll();
            RunAction(SelectRangeFilter, SelectAction);
        }
        decimal sum = 0;
        private void grid_CustomSummary(object sender, DevExpress.Data.CustomSummaryEventArgs e) {
            if(object.Equals(e.SummaryProcess, CustomSummaryProcess.Start)) {
                sum = 0;
            }
            if(e.SummaryProcess == CustomSummaryProcess.Calculate) {
                if((grid != null) && (grid.View != null)) {
                    if(grid.View.IsRowSelected(e.RowHandle)) {
                        sum += (decimal)e.FieldValue;
                    }
                }
            }
            if(e.SummaryProcess == CustomSummaryProcess.Finalize)
                e.TotalValue = sum;
        }
        void UpdateSummary() {
            if(grid != null) {
                grid.UpdateTotalSummary();
                grid.UpdateGroupSummary();
            }
        }
        private void gridView_SelectionChanged(object sender, GridSelectionChangedEventArgs e) {
            UpdateSummary();
        }
        private void EnableMultiSelectCheckEditChecked(object sender, RoutedEventArgs e) {
            SetMultiSelectMode(true);
        }
        private void EnableMultiSelectCheckEditUnchecked(object sender, RoutedEventArgs e) {
            SetMultiSelectMode(false);
        }
        void SetMultiSelectMode(bool enabled) {
            grid.SelectionMode = enabled ? MultiSelectMode.Row : MultiSelectMode.None;
        }

        private void grid_CurrentItemChanged(object sender, CurrentItemChangedEventArgs e) {
            if((enableMultiSelectCheckEdit != null) && ((bool)enableMultiSelectCheckEdit.IsChecked))
                UpdateSummary();
        }
    }
}!�<local:GridDemoModule x:Class="GridDemo.MultiView" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" UseGridControlWrapperAsDataContext="True" xmlns:local="clr-namespace:GridDemo" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:global="clr-namespace:System.Globalization;assembly=mscorlib" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxgt="http://schemas.devexpress.com/winfx/2008/xaml/grid/themekeys" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity">
    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/Themes/generic.SL.xaml" />
                <ResourceDictionary Source="/GridDemo;component/ModuleResources/MultiViewTemplates.SL.xaml" />
                <ResourceDictionary Source="/GridDemo;component/ModuleResources/MultiViewViewTemplates.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
            <local:DemoDataProvider x:Key="DemoDataProvider" />
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl>
        <dxdb:DemoModuleControl.OptionsContent>
            <dx:GroupFrame Header="View Type" VerticalAlignment="Top">
                <dxe:ListBoxEdit Name="multiViewListBox" Margin="0,0,30,0" ShowBorder="False" DisplayMember="DisplayName" SelectedIndex="0" Background="{x:Null}">
                    <dxe:ListBoxEdit.StyleSettings>
                        <dxe:RadioListBoxEditStyleSettings />
                    </dxe:ListBoxEdit.StyleSettings>
                    <dxe:ListBoxEdit.Items>
                        <local:MultiViewViewItem DisplayName="TableView">
                            <local:MultiViewViewItem.Content>
                                <ContentPresenter>
                                    <ContentPresenter.Content>
                                        <local:MultiViewTableViewViewModel />
                                    </ContentPresenter.Content>
                                </ContentPresenter>
                            </local:MultiViewViewItem.Content>
                        </local:MultiViewViewItem>
                        <local:MultiViewViewItem DisplayName="TreeListView">
                            <local:MultiViewViewItem.Content>
                                <ContentPresenter>
                                    <ContentPresenter.Content>
                                        <local:MultiViewTreeListViewViewModel />
                                    </ContentPresenter.Content>
                                </ContentPresenter>
                            </local:MultiViewViewItem.Content>
                        </local:MultiViewViewItem>

                        <local:MultiViewViewItem DisplayName="Multi-Row TableView">
                            <local:MultiViewViewItem.Content>
                                <ContentPresenter>
                                    <ContentPresenter.Content>
                                        <local:MultiViewBandedTableViewViewModel />
                                    </ContentPresenter.Content>
                                </ContentPresenter>
                            </local:MultiViewViewItem.Content>
                        </local:MultiViewViewItem>
                        <local:MultiViewViewItem DisplayName="Multi-Row TreeListView">
                            <local:MultiViewViewItem.Content>
                                <ContentPresenter>
                                    <ContentPresenter.Content>
                                        <local:MultiViewBandedTreeListViewViewModel />
                                    </ContentPresenter.Content>
                                </ContentPresenter>
                            </local:MultiViewViewItem.Content>
                        </local:MultiViewViewItem>
                    </dxe:ListBoxEdit.Items>
                </dxe:ListBoxEdit>
            </dx:GroupFrame>
        </dxdb:DemoModuleControl.OptionsContent>
        <ContentControl Content="{Binding Path=SelectedItem.Content, ElementName=multiViewListBox}" Margin="-1" />
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!using System;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Input;
using System.Windows.Threading;
using DevExpress.Xpf.Core.Commands;
using DevExpress.Xpf.DemoBase;
using DevExpress.Xpf.DemoBase.Helpers;
using DevExpress.Xpf.Grid;

namespace GridDemo {
    [CodeFile("ModuleResources/MultiViewTemplates(.SL).xaml")]
    [CodeFile("ModuleResources/MultiViewViewTemplates(.SL).xaml")]
    [CodeFile("ModuleResources/SharedResources(.SL).xaml")]
    [CodeFile("ModuleResources/MultiViewClasses.(cs)")]
    [CodeFile("ModuleResources/MultiViewViewModel.(cs)")]
    [CodeFile("Controls/Converters.(cs)")]
    public partial class MultiView : GridDemoModule {
        public MultiView() {
            InitializeComponent();
            BeforeModuleDisappear += new RoutedEventHandler(MultiView_BeforeModuleDisappear);
        }

        void MultiView_BeforeModuleDisappear(object sender, RoutedEventArgs e) {
            multiViewListBox.Items.Clear();
        }
    }
}!<local:GridDemoModule x:Class="GridDemo.NewItemRow" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:local="clr-namespace:GridDemo" 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008">
    <local:GridDemoModule.Resources>
        <dxdb:NWindDataLoader x:Key="NWindDataLoader" />
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl SupressGroupFramePaddingInOptions="False">
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel Orientation="Vertical">
                <dx:GroupFrame Header="New Item Row Position">
                    <dxe:ListBoxEdit ShowBorder="False" SelectedItem="{Binding ElementName=view, Path=NewItemRowPosition, Mode=TwoWay}" SelectedIndexChanged="newItemRowPositionChanged">
                        <dxe:ListBoxEdit.StyleSettings>
                            <dxe:RadioListBoxEditStyleSettings />
                        </dxe:ListBoxEdit.StyleSettings>
                        <dxg:NewItemRowPosition>Top</dxg:NewItemRowPosition>
                        <dxg:NewItemRowPosition>Bottom</dxg:NewItemRowPosition>
                        <dxg:NewItemRowPosition>None</dxg:NewItemRowPosition>
                    </dxe:ListBoxEdit>
                </dx:GroupFrame>
            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>

        <dxg:GridControl Name="grid">
            <dxg:GridControl.Columns>
                <dxg:GridColumn Name="colOrderID" FieldName="OrderID" Header="ID" Width="50" MinWidth="30" />
                <dxg:GridColumn Name="colProductID" FieldName="ProductID" Header="Product" Width="100">
                    <dxg:GridColumn.EditSettings>
                        <dxe:ComboBoxEditSettings AutoComplete="True" ImmediatePopup="True" ValueMember="ProductID" DisplayMember="ProductName" ItemsSource="{Binding Products, Source={StaticResource NWindDataLoader}}" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn Name="colUnitPrice" FieldName="UnitPrice" Width="100">
                    <dxg:GridColumn.EditSettings>
                        <dxe:SpinEditSettings MaskType="Numeric" MaskUseAsDisplayFormat="True" Mask="c" MaskCulture="en-US" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn Name="colQuantity" FieldName="Quantity" Width="100">
                    <dxg:GridColumn.EditSettings>
                        <dxe:SpinEditSettings MaskType="Numeric" Mask="d" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn Name="colDiscount" FieldName="Discount" Width="100">
                    <dxg:GridColumn.EditSettings>
                        <dxe:TextEditSettings MaskType="Numeric" MaskUseAsDisplayFormat="True" Mask="p0" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
            </dxg:GridControl.Columns>
            <dxg:GridControl.View>
                <dxg:TableView Name="view" AutoWidth="true" NewItemRowPosition="Bottom" ShowGroupedColumns="True" InitNewRow="view_InitNewRow" />
            </dxg:GridControl.View>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!rusing System;
using System.Collections.Generic;
using System.Windows.Data;
using GridDemo;
using DevExpress.Xpf.DemoBase;
using DevExpress.Xpf.Grid;
using DevExpress.Xpf.DemoBase.NWind;
using System.Collections.ObjectModel;

namespace GridDemo {
 public partial class NewItemRow : GridDemoModule {
        int newRowID = 10000;
  public NewItemRow() {
   InitializeComponent();

            grid.ItemsSource = new ObservableCollection<OrderDetails>(((NWindDataLoader)Resources["NWindDataLoader"]).OrderDetailsNew as IEnumerable<OrderDetails>);
        }

        protected override void RaiseModuleAppear() {
            base.RaiseModuleAppear();
            view.ScrollIntoView(view.FocusedRowHandle);
        }
  void view_InitNewRow(object sender, DevExpress.Xpf.Grid.InitNewRowEventArgs e) {
   grid.SetCellValue(e.RowHandle, colQuantity, 1);
            grid.SetCellValue(e.RowHandle, colUnitPrice, 100);
            grid.SetCellValue(e.RowHandle, colDiscount, 0);
            grid.SetCellValue(e.RowHandle, colOrderID, newRowID++);
  }
        void newItemRowPositionChanged(object sender, System.Windows.RoutedEventArgs e) {
            if(view.NewItemRowPosition != NewItemRowPosition.None) {
                view.FocusedRowHandle = GridControl.NewItemRowHandle;
                view.ScrollIntoView(view.FocusedRowHandle);
            }
        }
 }
}!$<local:GridDemoModule x:Class="GridDemo.PagedCollectionView" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:local="clr-namespace:GridDemo" 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:ria="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.DomainServices" xmlns:dc="clr-namespace:DevExpress.Xpf.DemoBase.Web.Services;assembly=DevExpress.Xpf.DemoBase.v13.1" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity">

    <dxdb:DemoModuleControl>
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="*" />
                <RowDefinition Height="Auto" />
            </Grid.RowDefinitions>
            <ria:DomainDataSource x:Name="source" QueryName="GetInvoicesQuery">
                <ria:DomainDataSource.DomainContext>
                    <dc:NWindDomainContext />
                </ria:DomainDataSource.DomainContext>
            </ria:DomainDataSource>
            <dxg:GridControl x:Name="grid" DefaultSorting="OrderID" ItemsSource="{Binding Data, ElementName=source}" AutoGenerateColumns="KeepOld">
                <i:Interaction.Behaviors>
                    <dx:DomainDataSourceAttachedBehavior DomainDataSource="{Binding ElementName=source}" />
                </i:Interaction.Behaviors>
                <dxg:GridControl.Columns>
                    <dxg:GridColumn FieldName="Country" MinWidth="30" />
                    <dxg:GridColumn FieldName="City" MinWidth="30" />
                    <dxg:GridColumn FieldName="OrderDate" MinWidth="30" />
                    <dxg:GridColumn FieldName="UnitPrice" MinWidth="30" AutoFilterCondition="Equals">
                        <dxg:GridColumn.EditSettings>
                            <dxe:TextEditSettings DisplayFormat="$0.00" />
                        </dxg:GridColumn.EditSettings>
                    </dxg:GridColumn>
                    <dxg:GridColumn FieldName="Quantity" MinWidth="30" AutoFilterCondition="Equals">
                        <dxg:GridColumn.EditSettings>
                            <dxe:TextEditSettings MaskType="Numeric" Mask="#,##0" />
                        </dxg:GridColumn.EditSettings>
                    </dxg:GridColumn>
                    <dxg:GridColumn FieldName="Region" MinWidth="30" />
                </dxg:GridControl.Columns>
                <dxg:GridControl.View>
                    <dxg:TableView Name="View" AllowColumnFiltering="False" ShowGroupedColumns="True" ShowAutoFilterRow="True" AllowEditing="False" />
                </dxg:GridControl.View>
            </dxg:GridControl>
            <dxe:DataPager x:Name="pager" Source="{Binding Data, ElementName=source}" Grid.Row="1" PageSize="20" NumericButtonCount="10" DisplayMode="FirstLastPreviousNextNumeric" HorizontalAlignment="Stretch" IsTotalItemCountFixed="True" ShowTotalPageCount="True" />
        </Grid>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!�using System;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Data;
using DevExpress.Xpf.Grid;
using System.Dynamic;
using System.Collections.ObjectModel;
using DevExpress.Data;
using System.ComponentModel;
using System.Collections;
using DevExpress.Xpf.DemoBase.Web.Services;

namespace GridDemo {
    public partial class PagedCollectionView : GridDemoModule {
        public PagedCollectionView() {
            InitializeComponent();
        }
    }
}!l<local:GridDemoModule x:Class="GridDemo.PLinqInstantFeedback" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" xmlns:local="clr-namespace:GridDemo" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" 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" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity">

    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/Themes/generic.SL.xaml" />
                <ResourceDictionary Source="/GridDemo;component/ModuleResources/PLinqInstantFeedbackTemplates.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
            <local:PLinqInstantFeedbackDemoViewModel x:Key="PLinqInstantFeedbackDemoViewModel">
                <local:PLinqInstantFeedbackDemoViewModel.CountItems>
                    <local:CountItemCollection>
                        <local:CountItem Count="100000" DisplayName="Small" />
                        <local:CountItem Count="1000000" DisplayName="Medium" />
                        <local:CountItem Count="3000000" DisplayName="Large" />
                    </local:CountItemCollection>
                </local:PLinqInstantFeedbackDemoViewModel.CountItems>
            </local:PLinqInstantFeedbackDemoViewModel>
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl>
        <dxdb:DemoModuleControl.OptionsTopText>
            Specify the number or Rows you’d like to view within the DXGrid.
        </dxdb:DemoModuleControl.OptionsTopText>
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel>
                <dx:GroupFrame Header="Rows">
                    <dxe:ListBoxEdit SelectedIndex="1" ItemTemplate="{StaticResource CountItemTemplate}" ShowBorder="False" Background="{x:Null}" ItemsSource="{Binding Path=DataContext.CountItems}" SelectedItem="{Binding Path=DataContext.SelectedCountItem, Mode=TwoWay}">
                        <dxe:ListBoxEdit.StyleSettings>
                            <dxe:RadioListBoxEditStyleSettings />
                        </dxe:ListBoxEdit.StyleSettings>
                    </dxe:ListBoxEdit>
                </dx:GroupFrame>

                <dx:LinqToObjectsInstantFeedbackDataSource Name="pLinqInstantSource" ListSource="{Binding Path=DataContext.ListSource}" />

            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <Grid DataContext="{StaticResource PLinqInstantFeedbackDemoViewModel}">
            <dxg:GridControl Name="grid" ItemsSource="{Binding ElementName=pLinqInstantSource, Path=Data}" DesignTimeDataObjectType="local:OrderData">
                <dxg:GridControl.Columns>
                    <dxg:GridColumn x:Name="colOrderId" FieldName="OrderId" Header="ID" Width="60" MinWidth="60" FixedWidth="True" AllowResizing="False" AllowGrouping="False" AllowColumnFiltering="False" />
                    <dxg:GridColumn x:Name="colCustomerName" FieldName="CustomerName" Width="180" />


                    <dxg:GridColumn x:Name="colOrderDate" FieldName="OrderDate" Width="80" AllowGrouping="False">

                        <dxg:GridColumn.EditSettings>
                            <dxe:DateEditSettings DisplayFormat="d" />
                        </dxg:GridColumn.EditSettings>
                    </dxg:GridColumn>
                    <dxg:GridColumn x:Name="colProductCategory" FieldName="ProductCategory" Width="100" CellTemplate="{StaticResource categoryCellTemplate}">
                        <dxg:GridColumn.EditSettings>
                            <dxe:ComboBoxEditSettings ItemsSource="{Binding Path=Categories}" ItemTemplate="{StaticResource categoryTemplate}" />
                        </dxg:GridColumn.EditSettings>
                    </dxg:GridColumn>
                    <dxg:GridColumn x:Name="colProductName" FieldName="ProductName" Width="180" />
                    <dxg:GridColumn x:Name="colQuantity" FieldName="Quantity" Width="60" />
                    <dxg:GridColumn x:Name="colPrice" FieldName="Price" Width="60" />
                    <dxg:GridColumn x:Name="colIsReady" FieldName="IsReady" Width="60" HorizontalHeaderContentAlignment="Center">
                        <dxg:GridColumn.EditSettings>
                            <dxe:CheckEditSettings />
                        </dxg:GridColumn.EditSettings>
                    </dxg:GridColumn>
                </dxg:GridControl.Columns>
                <dxg:GridControl.View>
                    <dxg:TableView x:Name="view" ShowTotalSummary="True" ShowAutoFilterRow="True" AutoWidth="True" RowAnimationKind="None" WaitIndicatorType="{Binding Path=IsGeneratingOrderData, Converter={StaticResource GeneratingDataToWaitIndicatorTypeConverter}}" />
                </dxg:GridControl.View>
                <dxg:GridControl.TotalSummary>
                    <dxg:GridSummaryItem FieldName="CustomerName" SummaryType="Count" />
                </dxg:GridControl.TotalSummary>
            </dxg:GridControl>
            <dx:BackgroundPanel Template="{StaticResource WaitIndicatorWithProgressTemplate}" Visibility="{Binding Path=IsGeneratingOrderData, Converter={StaticResource BoolToVisibilityConverter}}" HorizontalAlignment="Center" VerticalAlignment="Center" />
        </Grid>
        <i:Interaction.Triggers>
            <i:EventTrigger EventName="BeforeModuleDisappear">
                <i:InvokeCommandAction Command="{Binding ElementName=pLinqInstantSource, Path=DisposeCommand}" />
            </i:EventTrigger>
        </i:Interaction.Triggers>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!gusing System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Windows;
using DevExpress.Xpf.DemoBase.Helpers;
using DevExpress.Xpf.Utils;
using DevExpress.Xpf.DemoBase;

namespace GridDemo {
    [CodeFile("ModuleResources/PLinqInstantFeedbackViewModel.(cs)")]
    [CodeFile("ModuleResources/PLinqInstantFeedbackClasses.(cs)")]
    [CodeFile("ModuleResources/PLinqInstantFeedbackTemplates(.SL).xaml")]
    [CodeFile("Controls/OrderDataGenerator.(cs)")]
    public partial class PLinqInstantFeedback : GridDemoModule {
        public PLinqInstantFeedback() {
            InitializeComponent();
            PLinqInstantFeedbackDemoViewModel viewModel = (PLinqInstantFeedbackDemoViewModel)Resources["PLinqInstantFeedbackDemoViewModel"];
            viewModel.SetIsDesignTime(false);
        }
    }
}!�0<dxdemo:PrintViewGridDemoModule x:Class="GridDemo.PrintMasterDetail" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:local="clr-namespace:GridDemo" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:global="clr-namespace:System.Globalization;assembly=mscorlib" 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:dxgt="clr-namespace:DevExpress.Xpf.Grid.Themes;assembly=DevExpress.Xpf.Grid.v13.1" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:dxp="http://schemas.devexpress.com/winfx/2008/xaml/printing" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008">

    <dxdemo:PrintViewGridDemoModule.Resources>
        <ResourceDictionary>
            <dxdemo:PrintMasterDetailModuleViewModel x:Key="viewModel" />
            <dx:DefaultBooleanToNullableBooleanConverter x:Key="DefaultBooleanToNullableBooleanConverter" />
        </ResourceDictionary>
    </dxdemo:PrintViewGridDemoModule.Resources>
    <dxdb:DemoModuleControl SupressGroupFramePaddingInOptions="False">
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel>
                <StackPanel DataContext="{StaticResource viewModel}">
                    <dxe:CheckEdit x:Name="AllowPrintDetailsCheckEdit" Margin="10,0,0,5" Content="Allow Print Details" IsChecked="{Binding Path=AllowPrintDetails, Mode=TwoWay, Converter={StaticResource DefaultBooleanToNullableBooleanConverter}}" />
                    <dxe:CheckEdit x:Name="PrintAllDetailsCheckEdit" Margin="10,0,0,0" Content="Print All Details" IsChecked="{Binding Path=PrintAllDetails, Mode=TwoWay, Converter={StaticResource DefaultBooleanToNullableBooleanConverter}}" />
                    <dx:GroupFrame Header="Employees Print Options" Margin="0,10,0,0" VerticalAlignment="Top" DataContext="{StaticResource viewModel}">
                        <StackPanel>
                            <dxe:CheckEdit IsChecked="{Binding PrintEmployeesColumnHeaders, Mode=TwoWay}" Margin="0,0,0,5">Print Column Headers</dxe:CheckEdit>
                            <dxe:CheckEdit IsChecked="{Binding PrintEmployeesSummaries, Mode=TwoWay}">Print Total Summary</dxe:CheckEdit>
                        </StackPanel>
                    </dx:GroupFrame>
                    <dx:GroupFrame Header="Orders Detail Print Options" Margin="0,10,0,0" VerticalAlignment="Top" DataContext="{StaticResource viewModel}">
                        <StackPanel>
                            <dxe:CheckEdit IsChecked="{Binding PrintOrdersColumnHeaders, Mode=TwoWay}" Margin="0,0,0,5">Print Column Headers</dxe:CheckEdit>
                            <dxe:CheckEdit IsChecked="{Binding PrintOrdersSummaries, Mode=TwoWay}">Print Total Summary</dxe:CheckEdit>
                        </StackPanel>
                    </dx:GroupFrame>
                    <dx:GroupFrame Header="Invoices Detail Print Options" Margin="0,10,0,0" VerticalAlignment="Top" DataContext="{StaticResource viewModel}">
                        <StackPanel>
                            <dxe:CheckEdit IsChecked="{Binding PrintInvoicesColumnHeaders, Mode=TwoWay}" Margin="0,0,0,5">Print Column Headers</dxe:CheckEdit>
                            <dxe:CheckEdit IsChecked="{Binding PrintInvoicesSummaries, Mode=TwoWay}">Print Total Summary</dxe:CheckEdit>
                        </StackPanel>
                    </dx:GroupFrame>
                    <dx:GroupFrame Header="Customers Detail Print Options" Margin="0,10,0,0" VerticalAlignment="Top" DataContext="{StaticResource viewModel}">
                        <StackPanel>
                            <dxe:CheckEdit IsChecked="{Binding PrintCustomersColumnHeaders, Mode=TwoWay}" Margin="0,0,0,5">Print Column Headers</dxe:CheckEdit>
                            <dxe:CheckEdit IsChecked="{Binding PrintCustomersSummaries, Mode=TwoWay}">Print Total Summary</dxe:CheckEdit>
                        </StackPanel>
                    </dx:GroupFrame>
                    <Button Name="newTabButton" Click="newTabButton_Click" Margin="0,12,0,0" Content="Preview" />

                </StackPanel>
            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <dx:DXTabControl Name="tabControl" Margin="-1,2,-1,-1" Padding="1" TabHidden="tabControl_TabHidden">
            <dx:DXTabItem Padding="12,4,12,4">
                <dx:DXTabItem.Header>
                    <TextBlock FontWeight="Bold" Text="MasterDetail" />
                </dx:DXTabItem.Header>
                <dxg:GridControl x:Name="grid" ItemsSource="{Binding Employees}" DataContext="{StaticResource viewModel}">
                    <dxg:GridControl.DetailDescriptor>
                        <dxg:TabViewDetailDescriptor>
                            <dxg:TabViewDetailDescriptor.DetailDescriptors>
                                <dxg:DataControlDetailDescriptor x:Name="MDOrdersDescriptor" ItemsSourceBinding="{Binding MDOrders}" ShowHeader="false">
                                    <dxg:GridControl>
                                        <dxg:GridControl.DetailDescriptor>
                                            <dxg:DataControlDetailDescriptor x:Name="MDInvoicesDescriptor" ShowHeader="False" ItemsSourceBinding="{Binding Invoices}">
                                                <dxg:GridControl>
                                                    <dxg:GridControl.Columns>
                                                        <dxg:GridColumn FieldName="ProductName" />
                                                        <dxg:GridColumn FieldName="UnitPrice" />
                                                        <dxg:GridColumn FieldName="Quantity" />
                                                        <dxg:GridColumn FieldName="Total" UnboundType="Decimal" UnboundExpression="[UnitPrice]*[Quantity]" Header="Total" />
                                                    </dxg:GridControl.Columns>
                                                    <dxg:GridControl.View>
                                                        <dxg:TableView VerticalScrollbarVisibility="Auto" AutoWidth="True" NavigationStyle="Row" ShowFixedTotalSummary="True" DetailHeaderContent="Invoices" ShowGroupPanel="False" PrintFixedTotalSummary="{Binding PrintInvoicesSummaries, Source={StaticResource viewModel}}" PrintColumnHeaders="{Binding PrintInvoicesColumnHeaders, Source={StaticResource viewModel}}" />
                                                    </dxg:GridControl.View>
                                                    <dxg:GridControl.TotalSummary>
                                                        <dxg:GridSummaryItem SummaryType="Count" Alignment="Left" />
                                                        <dxg:GridSummaryItem FieldName="Total" SummaryType="Sum" Alignment="Right" />
                                                    </dxg:GridControl.TotalSummary>
                                                </dxg:GridControl>
                                            </dxg:DataControlDetailDescriptor>
                                        </dxg:GridControl.DetailDescriptor>
                                        <dxg:GridControl.Columns>
                                            <dxg:GridColumn FieldName="OrderDate" />
                                            <dxg:GridColumn FieldName="Freight" />
                                            <dxg:GridColumn FieldName="ShipName" />
                                            <dxg:GridColumn FieldName="ShipCountry" />
                                            <dxg:GridColumn FieldName="ShipCity" />
                                            <dxg:GridColumn FieldName="ShipAddress" />
                                        </dxg:GridControl.Columns>
                                        <dxg:GridControl.View>
                                            <dxg:TableView VerticalScrollbarVisibility="Auto" AutoWidth="True" NavigationStyle="Row" DetailHeaderContent="Orders" ShowGroupPanel="False" ShowFixedTotalSummary="True" PrintFixedTotalSummary="{Binding PrintOrdersSummaries}" PrintColumnHeaders="{Binding PrintOrdersColumnHeaders}" />
                                        </dxg:GridControl.View>
                                        <dxg:GridControl.TotalSummary>
                                            <dxg:GridSummaryItem FieldName="Freight" SummaryType="Sum" Alignment="Right" />
                                        </dxg:GridControl.TotalSummary>
                                    </dxg:GridControl>
                                </dxg:DataControlDetailDescriptor>
                                <dxg:DataControlDetailDescriptor Name="MDCustomersDescriptor" ItemsSourceBinding="{Binding MDCustomers}" ShowHeader="false">
                                    <dxg:GridControl>
                                        <dxg:GridControl.Columns>
                                            <dxg:GridColumn FieldName="ContactName" />
                                            <dxg:GridColumn FieldName="Country" />
                                            <dxg:GridColumn FieldName="City" />
                                            <dxg:GridColumn FieldName="Address" />
                                            <dxg:GridColumn FieldName="Phone" />
                                        </dxg:GridControl.Columns>
                                        <dxg:GridControl.View>
                                            <dxg:TableView VerticalScrollbarVisibility="Auto" AutoWidth="True" NavigationStyle="Row" DetailHeaderContent="Customers" ShowGroupPanel="False" ShowFixedTotalSummary="True" PrintFixedTotalSummary="{Binding PrintCustomersSummaries}" PrintColumnHeaders="{Binding PrintCustomersColumnHeaders}" />
                                        </dxg:GridControl.View>
                                        <dxg:GridControl.TotalSummary>
                                            <dxg:GridSummaryItem SummaryType="Count" Alignment="Left" />
                                        </dxg:GridControl.TotalSummary>
                                    </dxg:GridControl>
                                </dxg:DataControlDetailDescriptor>
                            </dxg:TabViewDetailDescriptor.DetailDescriptors>
                        </dxg:TabViewDetailDescriptor>
                    </dxg:GridControl.DetailDescriptor>
                    <dxg:GridControl.View>
                        <dxg:TableView x:Name="view" AutoWidth="True" NavigationStyle="Row" DetailHeaderContent="Employees" AllowPrintDetails="{Binding AllowPrintDetails}" AllowPrintEmptyDetails="False" ShowFixedTotalSummary="True" PrintAllDetails="{Binding PrintAllDetails}" PrintFixedTotalSummary="{Binding PrintEmployeesSummaries}" PrintColumnHeaders="{Binding PrintEmployeesColumnHeaders}" />
                    </dxg:GridControl.View>
                    <dxg:GridControl.Columns>
                        <dxg:GridColumn FieldName="FullName" ReadOnly="True" MinWidth="60" />
                        <dxg:GridColumn FieldName="Title" Header="JobTitle" />
                        <dxg:GridColumn FieldName="Region" Header="Country" MinWidth="60" />
                        <dxg:GridColumn FieldName="BirthDate" MinWidth="60">
                            <dxg:GridColumn.EditSettings>
                                <dxe:DateEditSettings DisplayFormat="d" />
                            </dxg:GridColumn.EditSettings>
                        </dxg:GridColumn>
                        <dxg:GridColumn FieldName="EMail" Header="Contacts" Width="195" />
                    </dxg:GridControl.Columns>
                    <dxg:GridControl.TotalSummary>
                        <dxg:GridSummaryItem SummaryType="Count" Alignment="Right" />
                    </dxg:GridControl.TotalSummary>
                </dxg:GridControl>
            </dx:DXTabItem>
        </dx:DXTabControl>
    </dxdb:DemoModuleControl>
</dxdemo:PrintViewGridDemoModule>!�using System;
using System.Windows;
using GridDemo;
using DevExpress.Xpf.Core;
using DevExpress.Xpf.DemoBase.Helpers;
using DevExpress.Utils;
using DevExpress.Xpf.Grid;
using DevExpress.Xpf.Grid.Native;
using DevExpress.Xpf.DemoBase;

namespace GridDemo {
    [CodeFile("ModuleResources/PrintMasterDetailViewModel.(cs)")]
    [CodeFile("Controls/DemoModuleControl.(cs)")]
    [CodeFile("Controls/Converters.(cs)")]
    public partial class PrintMasterDetail : PrintViewGridDemoModule {
        protected override DXTabControl DXTabControl { get { return tabControl; } }

        public PrintMasterDetail() {
            InitializeComponent();
        }
        protected override void RaiseActualLoaded() {
            base.RaiseActualLoaded();
            grid.ExpandMasterRow(2);
            ((GridControl)grid.GetVisibleDetail(2)).ExpandMasterRow(0);
            grid.ExpandMasterRow(4, MDCustomersDescriptor);
            grid.ExpandMasterRow(6);
            ShowPreviewInNewTab();
        }

        protected override void ShowPreviewInNewTab() {
            ShowPrintPreviewInNewTab(grid, tabControl, "Preview");
        }
        protected void newTabButton_Click(object sender, RoutedEventArgs e) {
            ShowPreviewInNewTab();
        }
        protected void tabControl_TabHidden(object sender, TabControlTabHiddenEventArgs e) {
            DisposePrintPreviewTabContent((DXTabItem)DXTabControl.Items[e.TabIndex]);
        }
    }
}!�<dxdemo:PrintViewGridDemoModule x:Class="GridDemo.PrintOptions" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:local="clr-namespace:GridDemo" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:global="clr-namespace:System.Globalization;assembly=mscorlib" 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:dxgt="clr-namespace:DevExpress.Xpf.Grid.Themes;assembly=DevExpress.Xpf.Grid.v13.1" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:dxp="http://schemas.devexpress.com/winfx/2008/xaml/printing" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008">
    <dxdemo:PrintViewGridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>

                <ResourceDictionary Source="/DevExpress.Xpf.Grid.v13.1;component/Themes/Generic/PrintingTemplates.SL.xaml" />

                <ResourceDictionary Source="/GridDemo;component/ModuleResources/PrintOptionsTemplates.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
            <dxdb:NWindDataLoader x:Key="NWindDataLoader" />
        </ResourceDictionary>
    </dxdemo:PrintViewGridDemoModule.Resources>
    <dxdb:DemoModuleControl>
        <dxdb:DemoModuleControl.OptionsTopText>
            Switch to the Grid Control tab, customize its display then preview and print its contents.
        </dxdb:DemoModuleControl.OptionsTopText>
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel Orientation="Vertical">
                <dx:GroupFrame Header="Print Options" Margin="0,0,0,12">
                    <StackPanel Orientation="Vertical">
                        <dxe:CheckEdit IsChecked="{Binding Path=View.PrintSelectedRowsOnly, Mode=TwoWay}" Content="Print Selected Rows Only" Margin="0,0,6,4" />
                        <dxe:CheckEdit IsChecked="{Binding Path=View.PrintColumnHeaders, Mode=TwoWay}" Content="Print Column Headers" Margin="0,0,6,4" />
                        <dxe:CheckEdit IsChecked="{Binding Path=View.PrintTotalSummary, Mode=TwoWay}" Content="Print Total Summary" Margin="0,0,6,4" />
                        <dxe:CheckEdit IsChecked="{Binding Path=View.PrintFixedTotalSummary, Mode=TwoWay}" Content="Print Fixed Total Summary" Margin="0,0,6,4" />
                        <dxe:CheckEdit IsChecked="{Binding Path=View.PrintAllGroups, Mode=TwoWay}" Content="Expand All Groups" Margin="0,0,6,4" />
                        <dxe:CheckEdit IsChecked="{Binding Path=View.PrintAutoWidth, Mode=TwoWay}" Content="Auto Width" Margin="0,0,6,0" />
                    </StackPanel>
                </dx:GroupFrame>
                <dx:GroupFrame Header="Print Styles" Margin="0,0,0,12">
                    <dxe:ListBoxEdit x:Name="printStyleChooser" ShowBorder="False" SelectedIndex="0" EditValueChanged="printStyleChooser_SelectionChanged" Background="{x:Null}">
                        <dxe:ListBoxEdit.StyleSettings>
                            <dxe:RadioListBoxEditStyleSettings />
                        </dxe:ListBoxEdit.StyleSettings>
                        <dxe:ListBoxEdit.Items>
                            <dxdemo:ColumnChooserType>Default</dxdemo:ColumnChooserType>
                            <dxdemo:ColumnChooserType>Custom</dxdemo:ColumnChooserType>
                        </dxe:ListBoxEdit.Items>
                    </dxe:ListBoxEdit>
                </dx:GroupFrame>
                <Button Name="newTabButton" Click="newTabButton_Click" Margin="0,0,0,12">
                    Preview in New Tab
                </Button>

            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <dx:DXTabControl Name="tabControl" Margin="-1,2,-1,-1" Padding="1" TabHidden="tabControl_TabHidden">
            <dx:DXTabItem Padding="12,4,12,4">
                <dx:DXTabItem.Header>
                    <TextBlock FontWeight="Bold">Grid Control</TextBlock>
                </dx:DXTabItem.Header>
                <dxg:GridControl Name="grid" Grid.Row="1" Grid.Column="0" ItemsSource="{Binding Path=Invoices, Source={StaticResource NWindDataLoader}}" FilterString="[Quantity] &gt; 30" SelectionMode="Row">
                    <dxg:GridControl.Columns>
                        <dxg:GridColumn x:Name="countryColumn" FieldName="Country" MinWidth="60" Width="60" />
                        <dxg:GridColumn x:Name="cityColumn" FieldName="City" MinWidth="80" Width="80" GroupIndex="0" />
                        <dxg:GridColumn x:Name="unitPriceColumn" FieldName="UnitPrice" MinWidth="120" Width="120">
                            <dxg:GridColumn.EditSettings>
                                <dxe:TextEditSettings DisplayFormat="$0.00" />
                            </dxg:GridColumn.EditSettings>
                        </dxg:GridColumn>
                        <dxg:GridColumn FieldName="OrderDate" MinWidth="30" Width="40">
                            <dxg:GridColumn.EditSettings>
                                <dxe:DateEditSettings HorizontalContentAlignment="Right" DisplayFormat="d" />
                            </dxg:GridColumn.EditSettings>
                        </dxg:GridColumn>
                        <dxg:GridColumn FieldName="Discount" MinWidth="100" Width="100">
                            <dxg:GridColumn.EditSettings>
                                <dxe:TextEditSettings DisplayFormat="0%" />
                            </dxg:GridColumn.EditSettings>
                        </dxg:GridColumn>
                        <dxg:GridColumn FieldName="Quantity" MinWidth="90" Width="90" />
                    </dxg:GridControl.Columns>
                    <dxg:GridControl.TotalSummary>
                        <dxg:GridSummaryItem FieldName="UnitPrice" SummaryType="Count" Alignment="Right" />
                        <dxg:GridSummaryItem FieldName="Discount" SummaryType="Max" ShowInColumn="Discount" />
                    </dxg:GridControl.TotalSummary>
                    <dxg:GridControl.GroupSummary>
                        <dxg:GridSummaryItem FieldName="UnitPrice" SummaryType="Sum" DisplayFormat="Unit Price: Sum = {0:$0.00}" />
                    </dxg:GridControl.GroupSummary>
                    <dxg:GridControl.View>
                        <dxg:TableView Name="view" NavigationStyle="Row" ShowTotalSummary="True" ShowFixedTotalSummary="True" AutoWidth="True" />
                    </dxg:GridControl.View>
                </dxg:GridControl>
            </dx:DXTabItem>
        </dx:DXTabControl>

    </dxdb:DemoModuleControl>
</dxdemo:PrintViewGridDemoModule>!�
using System;
using System.Windows;
using GridDemo;
using DevExpress.Xpf.Core;
using DevExpress.Xpf.DemoBase;

namespace GridDemo {
    [CodeFile("Controls/DemoModuleControl.(cs)")]
    [CodeFile("ModuleResources/PrintOptionsTemplates(.SL).xaml")]
    public partial class PrintOptions : PrintViewGridDemoModule {
        protected override DXTabControl DXTabControl { get { return tabControl; } }
        public PrintOptions() {
            InitializeComponent();
            printStyleChooser.SelectedIndex = 1;
            ShowPreviewInNewTab();
            printStyleChooser.SelectedIndex = 0;
            ShowPreviewInNewTab();
            tabControl.SelectionChanged += TabControlSelectionChanged;
        }
        void TabControlSelectionChanged(object sender, TabControlSelectionChangedEventArgs e) {
            ThemeManager.UpdateApplicationTheme((FrameworkElement)tabControl.SelectedItemContent);
        }
        private void printStyleChooser_SelectionChanged(object sender, DevExpress.Xpf.Editors.EditValueChangedEventArgs e) {
            if(view == null) return;
            if(printStyleChooser.SelectedIndex == 0) {
                view.ClearValue(DevExpress.Xpf.Grid.TableView.PrintColumnHeaderStyleProperty);
                view.ClearValue(DevExpress.Xpf.Grid.TableView.PrintCellStyleProperty);
                view.ClearValue(DevExpress.Xpf.Grid.TableView.PrintGroupRowStyleProperty);
                view.ClearValue(DevExpress.Xpf.Grid.TableView.PrintTotalSummaryStyleProperty);
                view.ClearValue(DevExpress.Xpf.Grid.TableView.PrintFixedTotalSummaryStyleProperty);
            }
            if(printStyleChooser.SelectedIndex == 1) {
                view.PrintColumnHeaderStyle = (Style)Resources["customPrintColumnHeaderStyle"];
                view.PrintCellStyle = (Style)Resources["customPrintCellStyle"];
                view.PrintGroupRowStyle = (Style)Resources["customGroupRowStyle"];
                view.PrintTotalSummaryStyle = (Style)Resources["customPrintTotalSummaryStyle"];
                view.PrintFixedTotalSummaryStyle = (Style)Resources["customPrintFixedTotalSummaryStyle"];
            }
        }
        protected override void ShowPreviewInNewTab() {
            ShowPrintPreviewInNewTab(grid, tabControl, string.Format("{0} Style Preview", printStyleChooser.SelectedItem));
        }
        protected void newTabButton_Click(object sender, RoutedEventArgs e) {
            ShowPreviewInNewTab();
        }
        protected void tabControl_TabHidden(object sender, TabControlTabHiddenEventArgs e) {
            DisposePrintPreviewTabContent((DXTabItem)DXTabControl.Items[e.TabIndex]);
        }
    }
}!�<dxdemo:PrintViewGridDemoModule x:Class="GridDemo.PrintTemplates" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:local="clr-namespace:GridDemo" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:global="clr-namespace:System.Globalization;assembly=mscorlib" 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:dxgt="clr-namespace:DevExpress.Xpf.Grid.Themes;assembly=DevExpress.Xpf.Grid.v13.1" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:dxp="http://schemas.devexpress.com/winfx/2008/xaml/printing" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008">
    <dxdemo:PrintViewGridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>

                <ResourceDictionary Source="/DevExpress.Xpf.Grid.v13.1;component/Themes/Generic/PrintingTemplates.SL.xaml" />

                <ResourceDictionary Source="/GridDemo;component/ModuleResources/PrintTemplatesResources.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
            <dxdb:NWindDataLoader x:Key="NWindDataLoader" />
        </ResourceDictionary>
    </dxdemo:PrintViewGridDemoModule.Resources>
    <dxdb:DemoModuleControl>
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel Orientation="Vertical">
                <dx:GroupFrame Header="Templates" Margin="0,0,0,12" VerticalAlignment="Top">
                    <dxe:ListBoxEdit Background="{x:Null}" ShowBorder="False" x:Name="templateNamesListBox" EditValueChanged="templateNamesListBox_SelectionChanged">
                        <dxe:ListBoxEdit.StyleSettings>
                            <dxe:RadioListBoxEditStyleSettings />
                        </dxe:ListBoxEdit.StyleSettings>
                        <dxe:ListBoxEdit.Items>
                            <sys:String>Detail</sys:String>
                            <sys:String>Mail Merge</sys:String>
                            <sys:String>Default</sys:String>
                        </dxe:ListBoxEdit.Items>
                    </dxe:ListBoxEdit>
                </dx:GroupFrame>
                <Button Name="newTabButton" Click="newTabButton_Click" Margin="0,0,0,12">
                    Preview in New Tab
                </Button>

            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <dx:DXTabControl Name="tabControl" Margin="-1,2,-1,-1" Padding="1" TabHidden="tabControl_TabHidden">
            <dx:DXTabItem Padding="12,4,12,4">
                <dx:DXTabItem.Header>
                    <TextBlock FontWeight="Bold">Grid Control</TextBlock>
                </dx:DXTabItem.Header>
                <dxg:GridControl Name="grid" Grid.Column="0" ItemsSource="{Binding Path=EmployeesNew, Source={StaticResource NWindDataLoader}}">
                    <dxg:GridControl.Columns>
                        <dxg:GridColumn FieldName="FirstName" MinWidth="50" />
                        <dxg:GridColumn FieldName="LastName" MinWidth="50" />
                        <dxg:GridColumn FieldName="BirthDate" MinWidth="50">
                            <dxg:GridColumn.EditSettings>
                                <dxe:DateEditSettings DisplayFormat="d" />
                            </dxg:GridColumn.EditSettings>
                        </dxg:GridColumn>
                        <dxg:GridColumn FieldName="Title" MinWidth="50" Header="Position" />
                        <dxg:GridColumn FieldName="FullName" Visible="False" ShowInColumnChooser="False" UnboundType="String" UnboundExpression="[FirstName] + ' ' + [LastName]" />
                        <dxg:GridColumn FieldName="Photo" MinWidth="60" PrintCellStyle="{StaticResource photoColumnStyle}">
                            <dxg:GridColumn.EditSettings>
                                <dxe:PopupImageEditSettings ShowMenu="False" ShowLoadDialogOnClickMode="Never" />
                            </dxg:GridColumn.EditSettings>
                        </dxg:GridColumn>
                    </dxg:GridControl.Columns>
                    <dxg:GridControl.View>
                        <dxg:TableView Name="view" ShowGroupedColumns="True" AutoWidth="True" AllowGrouping="False">
                            <dxg:TableView.PrintHeaderTemplate>
                                <DataTemplate />
                            </dxg:TableView.PrintHeaderTemplate>
                        </dxg:TableView>
                    </dxg:GridControl.View>
                </dxg:GridControl>
            </dx:DXTabItem>
        </dx:DXTabControl>
    </dxdb:DemoModuleControl>
</dxdemo:PrintViewGridDemoModule>!�
using System;
using System.Windows;
using GridDemo;
using DevExpress.Xpf.Core;
using DevExpress.Xpf.DemoBase;

namespace GridDemo {
    [CodeFile("ModuleResources/PrintTemplatesResources(.SL).xaml")]
    [CodeFile("Controls/DemoModuleControl.(cs)")]
    public partial class PrintTemplates : PrintViewGridDemoModule {
        protected override DXTabControl DXTabControl { get { return tabControl; } }
        public PrintTemplates() {
            InitializeComponent();
            templateNamesListBox.SelectedIndex = 2;
            ShowPreviewInNewTab();
            templateNamesListBox.SelectedIndex = 1;
            ShowPreviewInNewTab();
            templateNamesListBox.SelectedIndex = 0;
            ShowPreviewInNewTab();
            tabControl.SelectionChanged += TabControlSelectionChanged;
        }
        void TabControlSelectionChanged(object sender, TabControlSelectionChangedEventArgs e) {
            ThemeManager.UpdateApplicationTheme((FrameworkElement)tabControl.SelectedItemContent);
        }
        private void templateNamesListBox_SelectionChanged(object sender, DevExpress.Xpf.Editors.EditValueChangedEventArgs e) {
            if(view == null) return;
            if(templateNamesListBox.SelectedIndex == 0) {
                view.PrintHeaderTemplate = (DataTemplate)Resources["detailPrintHeaderTemplate"];
                view.PrintRowTemplate = (DataTemplate)Resources["detailPrintRowTemplate"];
                view.PrintColumnHeaderStyle = (Style)Resources["mailMergePrintHeaderStyle"];
            }
            if(templateNamesListBox.SelectedIndex == 1) {
                view.PrintHeaderTemplate = null;
                view.PrintRowTemplate = (DataTemplate)Resources["mailMergePrintRowTemplate"];
                view.PrintColumnHeaderStyle = (Style)Resources["mailMergePrintHeaderStyle"];
            }
            if(templateNamesListBox.SelectedIndex == 2) {
                view.ClearValue(DevExpress.Xpf.Grid.TableView.PrintHeaderTemplateProperty);
                view.ClearValue(DevExpress.Xpf.Grid.TableView.PrintRowTemplateProperty);
                view.ClearValue(DevExpress.Xpf.Grid.TableView.PrintColumnHeaderStyleProperty);
            }
        }
        protected override void ShowPreviewInNewTab() {
            ShowPrintPreviewInNewTab(grid, tabControl, string.Format("{0} Preview", templateNamesListBox.SelectedItem));
        }
        protected void newTabButton_Click(object sender, RoutedEventArgs e) {
            ShowPreviewInNewTab();
        }
        protected void tabControl_TabHidden(object sender, TabControlTabHiddenEventArgs e) {
            DisposePrintPreviewTabContent((DXTabItem)DXTabControl.Items[e.TabIndex]);
        }
    }
}!�<local:GridDemoModule x:Class="GridDemo.RIAInstantFeedback" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" UseGridControlWrapperAsDataContext="True" xmlns:local="clr-namespace:GridDemo" 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:ria="clr-namespace:RiaSC.Web" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity">

    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/ModuleResources/RiaInstantFeedbackTemplates.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
        <ria:SCContext x:Key="SCDomainContext" />
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl>
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel Width="165">
                <local:InternetConnectionControl />
                <dx:GroupFrame Header="Query Parameter" Margin="0,0,0,12">
                    <dxe:ComboBoxEdit x:Name="filter" DisplayMember="DisplayValue" ValueMember="EditValue" IsTextEditable="False" SelectedIndex="0" ShowNullTextForEmptyValue="False">
                        <dxg:CustomComboBoxItem DisplayValue="All" EditValue="" />
                        <dxg:CustomComboBoxItem DisplayValue=".NET" EditValue=".NET" />
                        <dxg:CustomComboBoxItem DisplayValue="VCL" EditValue="VCL" />
                    </dxe:ComboBoxEdit>
                </dx:GroupFrame>
                <dxe:CheckEdit Content="Extend Data Query" IsChecked="{Binding GridControl.DataContext.IsUseExtendedDataQuery, Mode=TwoWay}" />
                <TextBlock TextWrapping="Wrap" Margin="0,4,0,0">When this option is enabled, the grid uses an additional WCF Service method to speed up the performance of data management operations (grouping, sorting, filtering, etc).</TextBlock>
                <dx:RiaInstantFeedbackDataSource Name="riaInstantSource" KeyExpression="Oid" DomainContext="{StaticResource SCDomainContext}" QueryName="GetSCIssuesDemoByTechnologyQuery" UseExtendedDataQuery="{Binding GridControl.DataContext.IsUseExtendedDataQuery}">
                    <dx:RiaInstantFeedbackDataSource.QueryParameters>
                        <dx:QueryParameter ParameterName="technologyName" Value="{Binding ElementName=filter, Path=SelectedItem.EditValue}" />
                    </dx:RiaInstantFeedbackDataSource.QueryParameters>
                </dx:RiaInstantFeedbackDataSource>
            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl Name="grid" ItemsSource="{Binding ElementName=riaInstantSource, Path=Data}" SelectionMode="Row">
            <dxg:GridControl.Columns>
                <dxg:GridColumn x:Name="colId" FieldName="ID" Width="70" FixedWidth="True" AllowGrouping="False" AllowColumnFiltering="False" AllowResizing="False" CellTemplate="{StaticResource idTemplate}" />
                <dxg:GridColumn x:Name="colSubject" FieldName="Subject" Width="300" AllowGrouping="False" AllowColumnFiltering="False" />
                <dxg:GridColumn x:Name="colTechnologyName" FieldName="TechnologyName" Width="75" Header="Technology" />
                <dxg:GridColumn x:Name="colProductName" FieldName="ProductName" Width="120" Header="Product" AllowColumnFiltering="{Binding IsUseExtendedDataQuery, Converter={StaticResource BooleanToDefaultBooleanConverter}}" AllowGrouping="{Binding IsUseExtendedDataQuery, Converter={StaticResource BooleanToDefaultBooleanConverter}}" />
                <dxg:GridColumn x:Name="colStatus" FieldName="Status" FixedWidth="True" Width="60" AllowResizing="False" CellTemplate="{StaticResource statusTemplate}" />
                <dxg:GridColumn x:Name="colCreatedOn" FieldName="CreatedOn" AllowGrouping="False" AllowColumnFiltering="False" AllowResizing="False" Width="90" FixedWidth="True" />
                <dxg:GridColumn x:Name="colUrgent" FieldName="Urgent" FixedWidth="True" Width="70" AllowResizing="False" />
            </dxg:GridControl.Columns>
            <dxg:GridControl.GroupSummary>
                <dxg:GridSummaryItem FieldName="TechnologyName" SummaryType="Count" />
            </dxg:GridControl.GroupSummary>
            <dxg:GridControl.TotalSummary>
                <dxg:GridSummaryItem FieldName="Subject" SummaryType="Count" />
            </dxg:GridControl.TotalSummary>
            <dxg:GridControl.View>
                <dxg:TableView x:Name="view" ShowTotalSummary="True" WaitIndicatorType="Panel" ShowAutoFilterRow="True" AutoWidth="True" NavigationStyle="Row" AllowEditing="False" />
            </dxg:GridControl.View>
        </dxg:GridControl>
        <i:Interaction.Triggers>
            <i:EventTrigger EventName="BeforeModuleDisappear">
                <i:InvokeCommandAction Command="{Binding ElementName=riaInstantSource, Path=DisposeCommand}" />
            </i:EventTrigger>
        </i:Interaction.Triggers>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!�using System;
using DevExpress.Xpf.DemoBase;

namespace GridDemo {
    [CodeFile("ModuleResources/RiaInstantFeedbackTemplates(.SL).xaml")]
    [CodeFile("ModuleResources/RiaInstantFeedbackViewModel.(cs)")]
    [CodeFile("Controls/Converters.(cs)")]
    public partial class RIAInstantFeedback : GridDemoModule {
        public RIAInstantFeedback() {
            InitializeComponent();
            RIAInstantFeedbackViewModel viewModel = new RIAInstantFeedbackViewModel();
            DataContext = viewModel;
            viewModel.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(viewModel_PropertyChanged);
        }

        void viewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) {
            if(!(sender as RIAInstantFeedbackViewModel).IsUseExtendedDataQuery) {
                colProductName.GroupIndex = -1;
                grid.FilterCriteria = null;
            }
        }
    }
}!�<local:GridDemoModule x:Class="GridDemo.RIAServices" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:local="clr-namespace:GridDemo" 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:d="http://schemas.microsoft.com/expression/blend/2008">
    <dxdb:DemoModuleControl>
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel>
                <dx:GroupFrame Header="Table">
                    <dx:GroupFrame.IsEnabled>
                        <Binding Path="ShowLoadingPanel">
                            <Binding.Converter>
                                <dx:NegationConverterExtension />
                            </Binding.Converter>
                        </Binding>
                    </dx:GroupFrame.IsEnabled>
                    <dxe:ListBoxEdit Name="listBoxEdit" SelectedIndex="0" ShowBorder="False" Background="{x:Null}">
                        <dxe:ListBoxEdit.StyleSettings>
                            <dxe:RadioListBoxEditStyleSettings />
                        </dxe:ListBoxEdit.StyleSettings>
                        <dxe:ListBoxEdit.Items>
                            <sys:String>Customers</sys:String>
                            <sys:String>Invoices</sys:String>
                            <sys:String>Employees</sys:String>
                            <sys:String>Products</sys:String>
                        </dxe:ListBoxEdit.Items>
                    </dxe:ListBoxEdit>
                </dx:GroupFrame>
                <Button Content="Load" Click="Button_Click" Margin="0,12,0,0">
                    <Button.IsEnabled>
                        <Binding Path="ShowLoadingPanel">
                            <Binding.Converter>
                                <dx:NegationConverterExtension />
                            </Binding.Converter>
                        </Binding>
                    </Button.IsEnabled>
                </Button>
                <dxe:CheckEdit Content="Allow commit on vallidation attribute errors" IsChecked="{Binding AllowCommitOnValidationAttributeError, ElementName=view, Mode=TwoWay}" Margin="0,12,0,0" />
                <dxe:CheckEdit Content="Show validation attribute errors" IsChecked="{Binding ShowValidationAttributeErrors, ElementName=view, Mode=TwoWay}" Margin="0,12,0,0" />
            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <Grid>
            <dxg:GridControl Name="grid" AutoGenerateColumns="KeepOld" ShowLoadingPanel="{Binding Path=IsLoading}">
                <dxg:GridControl.View>
                    <dxg:TableView x:Name="view" NavigationStyle="Cell" />
                </dxg:GridControl.View>
            </dxg:GridControl>
        </Grid>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!�using System;
using System.Collections;
using System.ServiceModel.DomainServices.Client;
using System.Windows;
using DevExpress.Xpf.DemoBase.Web;
using DevExpress.Xpf.DemoBase.Web.Services;

namespace GridDemo {
    public partial class RIAServices : GridDemoModule {
        NWindDomainContext domainContext = new NWindDomainContext();
        public RIAServices() {
            InitializeComponent();

            DataContext = domainContext;
            LoadDataSource();
        }
        void Button_Click(object sender, RoutedEventArgs e) {
            LoadDataSource();
        }

        void LoadDataSource() {
            grid.Columns.Clear();
            grid.ItemsSource = SelectSource(listBoxEdit.EditValue as string);
        }
        IEnumerable SelectSource(string tableName) {
            switch(tableName) {
                case "Invoices":
                    return GetSource<Invoices>(() => domainContext.GetInvoicesQuery());
                case "Customers":
                    return GetSource<Customers>(() => domainContext.GetCustomersQuery());
                case "Employees":
                    return GetSource<Employees>(() => domainContext.GetEmployeesQuery());
                case "Products":
                    return GetSource<Products>(() => domainContext.GetProductsQuery());
                default:
                    throw new NotImplementedException();
            }
        }
        IEnumerable GetSource<T>(Func<EntityQuery<T>> getQuery) where T : Entity {
            LoadOperation<T> loadOperation = domainContext.Load<T>(getQuery(), new Action<LoadOperation<T>>(OnCompleted), null);
            return loadOperation.Entities;
        }
        void OnCompleted(LoadOperation op) {
            if(op.HasError) {
                MessageBox.Show("Connection could not be established." + Environment.NewLine + op.Error.Message, "Connection Error", MessageBoxButton.OK);
                op.MarkErrorAsHandled();
            }
        }
    }
}!<local:GridDemoModule x:Class="GridDemo.RowTemplate" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:local="clr-namespace:GridDemo" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:global="clr-namespace:System.Globalization;assembly=mscorlib" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxgt="http://schemas.devexpress.com/winfx/2008/xaml/grid/themekeys" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008">
    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/Themes/generic.SL.xaml" />
                <ResourceDictionary Source="/GridDemo;component/ModuleResources/RowTemplateTemplates.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
            <dxdb:NWindDataLoader x:Key="NWindDataLoader" />
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl SupressGroupFramePaddingInOptions="False">
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel Orientation="Vertical">
                <dxe:CheckEdit Margin="0,0,0,12" Name="CheckBox" Content="Use Email Template" IsChecked="False" Checked="CheckBox_Checked" Unchecked="CheckBox_Unchecked" />
                <dx:GroupFrame Header="Row Template">
                    <dxe:ListBoxEdit Background="{x:Null}" Margin="0,0,0,0" ShowBorder="False" SelectedIndex="0" Name="rowTemplateComboBox" EditValueChanged="RowTemplateComboBox_SelectionChanged">
                        <dxe:ListBoxEdit.StyleSettings>
                            <dxe:RadioListBoxEditStyleSettings />
                        </dxe:ListBoxEdit.StyleSettings>
                        <dxe:ListBoxEdit.Items>
                            <sys:String>Animated Details</sys:String>
                            <sys:String>Details</sys:String>
                            <sys:String>Tooltip</sys:String>
                            <sys:String>Default</sys:String>
                        </dxe:ListBoxEdit.Items>
                    </dxe:ListBoxEdit>
                </dx:GroupFrame>
            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl Name="grid" Grid.Column="0" ItemsSource="{Binding Path=Employees, Source={StaticResource NWindDataLoader}}">
            <dxg:GridControl.Columns>
                <dxg:GridColumn FieldName="FirstName" MinWidth="60" Width="60" />
                <dxg:GridColumn FieldName="LastName" MinWidth="60" Width="60" />
                <dxg:GridColumn FieldName="BirthDate" MinWidth="60" Width="60">
                    <dxg:GridColumn.EditSettings>
                        <dxe:DateEditSettings DisplayFormat="d" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn x:Name="colEMail" FieldName="EMail" Header="E-mail" Width="195" FixedWidth="true" UnboundType="String" CellTemplate="{StaticResource eMailTemplate}" UnboundExpression="Lower([LastName])+'@devexpress.com'" />
                <dxg:GridColumn FieldName="Title" MinWidth="60" Width="60" Header="Position" />
            </dxg:GridControl.Columns>
            <dxg:GridControl.View>
                <dxg:TableView Name="view" AllowPerPixelScrolling="True" ShowGroupedColumns="True" NavigationStyle="Row" DataRowTemplate="{StaticResource expandableRowDetailTemplate}" AutoWidth="True">
                </dxg:TableView>
            </dxg:GridControl.View>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!qusing System;
using System.Windows;
using System.Windows.Controls;
using DevExpress.Xpf.Core;
using System.Diagnostics;
using DevExpress.Xpf.Core.Commands;
using DevExpress.Xpf.DemoBase;
using DevExpress.Utils;

using System.Windows.Browser;
using DevExpress.Xpf.Core.WPFCompatibility;

namespace GridDemo {
    [CodeFile("ModuleResources/RowTemplateClasses.(cs)")]
    [CodeFile("ModuleResources/RowTemplateTemplates(.SL).xaml")]
    public partial class RowTemplate : GridDemoModule {
        public RowTemplate() {
            InitializeComponent();
            CheckBox.IsChecked = true;
            view.Tag = new DelegateCommand<object>(OnSendMail);
        }
        void OnSendMail(object parameter) {
            string emailUri = "mailto:" + parameter.ToString();
            HtmlPage.Window.Navigate(new Uri(emailUri));
        }
        private void CheckBox_Checked(object sender, RoutedEventArgs e) {
            if(grid != null) {
                colEMail.CellTemplate = (DataTemplate)Resources["eMailTemplate"];
            }
        }

        private void CheckBox_Unchecked(object sender, RoutedEventArgs e) {
            if(grid != null) {
                colEMail.CellTemplate = null;
            }
        }

        private void RowTemplateComboBox_SelectionChanged(object sender, DevExpress.Xpf.Editors.EditValueChangedEventArgs e) {
            if(grid == null)
                return;
            if(rowTemplateComboBox.SelectedIndex == 0)
                view.DataRowTemplate = (DataTemplate)Resources["expandableRowDetailTemplate"];
            if(rowTemplateComboBox.SelectedIndex == 1)
                view.DataRowTemplate = (DataTemplate)Resources["rowDetailTemplate"];
            if(rowTemplateComboBox.SelectedIndex == 2)
                view.DataRowTemplate = (DataTemplate)Resources["rowToolTipTemplate"];
            if(rowTemplateComboBox.SelectedIndex == 3)
                view.ClearValue(DevExpress.Xpf.Grid.TableView.DataRowTemplateProperty);
        }

  protected bool ShouldUseModifiedTheme {
   get { return rowTemplateComboBox.SelectedIndex <= 2; }
  }
    }
}!�<local:GridDemoModule x:Class="GridDemo.Serialization" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" UseGridControlWrapperAsDataContext="True" xmlns:local="clr-namespace:GridDemo" 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: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: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">
    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/Themes/generic.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
            <dxdb:NWindDataLoader x:Key="NWindDataLoader" />
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl><dxdb:DemoModuleControl.OptionsContent>
        <StackPanel>
            <dx:GroupFrame Header="Layout">
                <StackPanel>
                    <Button Name="saveLayoutButton" Click="saveLayoutButton_Click" Height="22">Save Layout</Button>
                    <Button Name="restoreLayoutButton" Click="restoreLayoutButton_Click" IsEnabled="False" Margin="0,4,0,0" Height="22">Restore Layout</Button>
                </StackPanel>
            </dx:GroupFrame>
            <dx:GroupFrame Header="Layout Samples" Margin="0,12,0,0">
                <StackPanel>
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="Auto" />
                            <ColumnDefinition Width="100" />
                        </Grid.ColumnDefinitions>
                        <TextBlock Text="Select:" VerticalAlignment="Center" Margin="0,0,12,0" />
                        <dxe:ComboBoxEdit Grid.Column="1" x:Name="layoutSamplesComboBox" IsTextEditable="False" SelectedIndex="0" />
                    </Grid>
                    <Button x:Name="loadSampleLayoutButton" Margin="0,12,0,0" Content="Load" Click="loadSampleLayoutButton_Click" Height="22" />
                </StackPanel>
            </dx:GroupFrame>
        </StackPanel>
    </dxdb:DemoModuleControl.OptionsContent>
    <dxg:GridControl dx:DXSerializer.SerializationID="grid" dx:DXSerializer.StoreLayoutMode="All" dxg:GridSerializationOptions.AddNewColumns="False" dxg:GridSerializationOptions.RemoveOldColumns="False" Name="grid" ItemsSource="{Binding Path=Customers, Source={StaticResource NWindDataLoader}}">
        <dxg:GridControl.Columns>
            <dxg:GridColumn Name="colCompanyName" FieldName="CompanyName" Width="230" />
            <dxg:GridColumn Name="colContactName" FieldName="ContactName" Width="150" />
            <dxg:GridColumn Name="colContactTitle" FieldName="ContactTitle" Width="150" />
            <dxg:GridColumn Name="colCountry" FieldName="Country" Width="90" />
            <dxg:GridColumn Name="colCity" FieldName="City" Width="100" />
            <dxg:GridColumn Name="colAddress" FieldName="Address" Width="260" />
        </dxg:GridControl.Columns>
        <dxg:GridControl.TotalSummary>
            <dxg:GridSummaryItem FieldName="CompanyName" SummaryType="Count" />
        </dxg:GridControl.TotalSummary>
        <dxg:GridControl.View>
            <dxg:TableView AllowEditing="False" x:Name="gridView" ShowTotalSummary="True" />
        </dxg:GridControl.View>
    </dxg:GridControl>
</dxdb:DemoModuleControl></local:GridDemoModule>!�using System;
using System.Collections.Generic;
using System.Windows;
using System.IO;
using System.Reflection;
using DevExpress.Xpf.DemoBase;
using DevExpress.Xpf.DemoBase.Helpers;

namespace GridDemo {
    [CodeFile("ModuleResources/SerializationClasses.(cs)")]
    public partial class Serialization : GridDemoModule {
        MemoryStream currentLayoutStream;
        public Serialization() {
            InitializeComponent();
            Loaded += new RoutedEventHandler(Serialization_Loaded);
        }
        void Serialization_Loaded(object sender, RoutedEventArgs e) {
            List<LayoutSampleBase> layoutSamples = new List<LayoutSampleBase>();
            layoutSamples.Add(new MemoryStreamLayoutSample("Original", SaveLayout()));
            Assembly assembly = typeof(Serialization).Assembly;
            layoutSamples.Add(new ResourceLayoutSample("Brief view", DemoHelper.GetPath("GridDemo.Data.LayoutSamples.", assembly) + "BriefView.xml"));
            layoutSamples.Add(new ResourceLayoutSample("Full view", DemoHelper.GetPath("GridDemo.Data.LayoutSamples.", assembly) + "FullView.xml"));
            layoutSamplesComboBox.ItemsSource = layoutSamples;
            layoutSamplesComboBox.SelectedIndex = 0;
        }

        MemoryStream SaveLayout() {
            MemoryStream stream = new MemoryStream();
            grid.SaveLayoutToStream(stream);
            return stream;
        }
        void RestoreLayout(Stream stream) {
            if(stream == null)
                return;
            stream.Position = 0;
            grid.RestoreLayoutFromStream(stream);
        }
        private void saveLayoutButton_Click(object sender, RoutedEventArgs e) {
            currentLayoutStream = SaveLayout();
            restoreLayoutButton.IsEnabled = true;
        }

        private void restoreLayoutButton_Click(object sender, RoutedEventArgs e) {
            RestoreLayout(currentLayoutStream);
        }
        private void loadSampleLayoutButton_Click(object sender, RoutedEventArgs e) {
            RestoreLayout(((LayoutSampleBase)layoutSamplesComboBox.SelectedItem).GetStream());
        }
    }
}!�<local:GridDemoModule x:Class="GridDemo.SortBySummary" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:local="clr-namespace:GridDemo" 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxgt="http://schemas.devexpress.com/winfx/2008/xaml/grid/themekeys" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008">
    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/Themes/generic.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
            <local:GroupIntervalData x:Key="groupIntervalData" />
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl>
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel Orientation="Vertical">
                <dx:GroupFrame Header="Sort By" Margin="0,0,0,0">
                    <dxe:ListBoxEdit Background="{x:Null}" Margin="0,0,30,0" ShowBorder="False" x:Name="sortModeList" EditValueChanged="sortModeList_SelectionChanged">
                        <dxe:ListBoxEdit.StyleSettings>
                            <dxe:RadioListBoxEditStyleSettings />
                        </dxe:ListBoxEdit.StyleSettings>
                        <dxe:ListBoxEdit.Items>
                            <sys:String>Price: Avg Ascending</sys:String>
                            <sys:String>Price: Avg Descending</sys:String>
                            <sys:String>Orders: Sum Ascending</sys:String>
                            <sys:String>Orders: Sum Descending</sys:String>
                        </dxe:ListBoxEdit.Items>
                    </dxe:ListBoxEdit>
                </dx:GroupFrame>
            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl Name="grid" ItemsSource="{Binding Path=Products, Source={StaticResource groupIntervalData}}">
            <dxg:GridControl.Resources>
                <DataTemplate x:Key="summaryTemplate">
                    <ContentControl Content="{Binding}" Name="element" ContentTemplate="{Binding View.DefaultGroupSummaryItemTemplate}" />

                </DataTemplate>
            </dxg:GridControl.Resources>
            <dxg:GridControl.Columns>
                <dxg:GridColumn FieldName="ProductName" MinWidth="30" />
                <dxg:GridColumn x:Name="colOrderDate" FieldName="OrderDate" MinWidth="30" GroupInterval="DateMonth">
                    <dxg:GridColumn.EditSettings>
                        <dxe:DateEditSettings DisplayFormat="d" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn x:Name="colUnitPrice" FieldName="UnitPrice" MinWidth="30">
                    <dxg:GridColumn.EditSettings>
                        <dxe:TextEditSettings DisplayFormat="$0.00" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn x:Name="colCount" FieldName="Count" MinWidth="30" />
                <dxg:GridColumn x:Name="colOrderSum" FieldName="OrderSum" MinWidth="30">
                    <dxg:GridColumn.EditSettings>
                        <dxe:TextEditSettings DisplayFormat="$0.00" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
            </dxg:GridControl.Columns>
            <dxg:GridControl.GroupSummary>
                <dxg:GridSummaryItem DisplayFormat="Price: Avg = {0:$0.00}" FieldName="UnitPrice" SummaryType="Average" />
                <dxg:GridSummaryItem DisplayFormat="Orders: Sum = {0:$0.00}" FieldName="OrderSum" SummaryType="Sum" />
            </dxg:GridControl.GroupSummary>
            <dxg:GridControl.View>
                <dxg:TableView AllowGrouping="False" AllowSorting="False" AutoWidth="True" Name="view" GroupSummaryItemTemplate="{StaticResource summaryTemplate}" NavigationStyle="None" />
            </dxg:GridControl.View>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!�using System.Windows;
using DevExpress.Xpf.Grid;
using System.ComponentModel;
using DevExpress.Xpf.DemoBase;

namespace GridDemo {
    [CodeFile("ModuleResources/GroupIntervalsClasses.(cs)")]
    public partial class SortBySummary : GridDemoModule {
        #region static
        public static readonly DependencyProperty IsSelectedProperty;
        static SortBySummary() {
            IsSelectedProperty = DependencyProperty.RegisterAttached("IsSelected", typeof(bool), typeof(SortBySummary), new PropertyMetadata(false));
        }
        public static void SetIsSelected(DependencyObject element, bool value) {
            element.SetValue(IsSelectedProperty, value);
        }
        public static int GetIsSelected(DependencyObject element) {
            return (int)element.GetValue(IsSelectedProperty);
        }
        #endregion 
        public SortBySummary() {
            InitializeComponent();
            grid.GroupBy("OrderDate");
            sortModeList.SelectedIndex = 0;
        }
        ListSortDirection CurrentSortOrder { get { return sortModeList.SelectedIndex % 2 == 0 ? ListSortDirection.Ascending : ListSortDirection.Descending; } }
        int CurrentSummaryItemIndex { get { return (int)(sortModeList.SelectedIndex / 2); } }
        private void sortModeList_SelectionChanged(object sender, DevExpress.Xpf.Editors.EditValueChangedEventArgs e) {
            grid.GroupSummarySortInfo.Clear();
            for(int i = 0; i < grid.GroupSummary.Count; i++) {
                DevExpress.Xpf.Grid.GridSummaryItem item = grid.GroupSummary[i];
                if(i == CurrentSummaryItemIndex) {
                    SortBySummary.SetIsSelected(item, true);
                    grid.GroupSummarySortInfo.Add(new GridGroupSummarySortInfo(item, "OrderDate", CurrentSortOrder));
                }
                else {
                    SortBySummary.SetIsSelected(item, false);
                }
            }
        }
    }
}!�$<local:GridDemoModule x:Class="GridDemo.TableView" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" UseGridControlWrapperAsDataContext="True" xmlns:local="clr-namespace:GridDemo" 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008">
    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/Themes/generic.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
            <local:DemoValuesProvider x:Key="DemoValuesProvider" />
            <local:ScrollingAnimationDurationToBooleanConverter x:Key="ScrollingAnimationDurationToBooleanConverter" />
            <dx:DefaultBooleanToNullableBooleanConverter x:Key="DefaultBooleanToNullableBooleanConverter" />
            <dxdb:NWindDataLoader x:Key="NWindDataLoader" />
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl>
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel>
                <dx:GroupFrame Header="Scrolling Options" Margin="0,0,0,12">
                    <StackPanel>
                        <dxe:CheckEdit x:Name="allowFixedGroupsCheckEdit" FontWeight="Bold" Margin="0,0,0,4" IsChecked="{Binding Path=GridControl.View.AllowFixedGroups, Mode=TwoWay, Converter={StaticResource DefaultBooleanToNullableBooleanConverter}}" Content="Allow Fixed Groups" ToolTipService.ToolTip="Specifies whether the top visible group row is always displayed when scrolling through grouped data." />
                        <dxe:CheckEdit x:Name="allowCascadeUpdateCheckEdit" Margin="0,0,0,4" IsChecked="{Binding Path=GridControl.View.AllowCascadeUpdate, Mode=TwoWay}" Content="Allow Cascade Update" ToolTipService.ToolTip="Makes vertical scrolling perfectly fast and smooth." />
                        <dxe:CheckEdit x:Name="allowPerPixelScrollingCheckEdit" Margin="0,0,0,4" IsChecked="{Binding Path=GridControl.View.AllowPerPixelScrolling, Mode=TwoWay}" Content="Allow Per Pixel Scrolling" ToolTipService.ToolTip="Specifies whether per-pixel scrolling is enabled." />
                        <dxe:CheckEdit x:Name="allowScrollingAnimation" IsEnabled="{Binding GridControl.View.AllowPerPixelScrolling}" Margin="0,0,0,0" IsChecked="{Binding Path=GridControl.View.ScrollAnimationDuration, Mode=TwoWay, Converter={StaticResource ScrollingAnimationDurationToBooleanConverter}}" Content="Allow Scrolling Animation" ToolTipService.ToolTip="Turn on this option to provide visual feedback and enhance interactivity when scrolling rows." />
                    </StackPanel>
                </dx:GroupFrame>
                <dx:GroupFrame Header="Customization Options" Margin="0,0,0,12">
                    <StackPanel>
                        <dxe:CheckEdit x:Name="autoWidthCheckEdit" Margin="0,0,0,4" IsChecked="{Binding Path=GridControl.View.AutoWidth, Mode=TwoWay}" Content="Column Auto Width" ToolTipService.ToolTip="Specifies whether column widths are automatically changed to match the grid's width." />
                        <dxe:CheckEdit x:Name="allowSortingCheckEdit" Margin="0,0,0,4" IsChecked="{Binding Path=GridControl.View.AllowSorting, Mode=TwoWay}" Content="Allow Sorting" ToolTipService.ToolTip="Specifies whether you can sort data." />
                        <dxe:CheckEdit x:Name="allowGroupingCheckEdit" Margin="0,0,0,4" IsChecked="{Binding Path=GridControl.View.AllowGrouping, Mode=TwoWay}" Content="Allow Grouping" ToolTipService.ToolTip="Specifies whether you can group data." />
                        <dxe:CheckEdit x:Name="allowMovingCheckEdit" Margin="0,0,0,4" IsChecked="{Binding Path=GridControl.View.AllowColumnMoving, Mode=TwoWay}" Content="Allow Moving" ToolTipService.ToolTip="Specifies whether you are allowed to move columns via drag and drop." />
                        <dxe:CheckEdit x:Name="allowResizingCheckEdit" Margin="0,0,0,4" IsChecked="{Binding Path=GridControl.View.AllowResizing, Mode=TwoWay}" Content="Allow Resizing" ToolTipService.ToolTip="Specifies whether you can change column widths by dragging the edges of their headers." />
                        <dxe:CheckEdit x:Name="allowBestFitCheckEdit" Margin="0,0,0,4" IsChecked="{Binding Path=GridControl.View.AllowBestFit, Mode=TwoWay}" Content="Allow Best Fit" ToolTipService.ToolTip="Specifies whether it's allowed to calculate and aply optimal widths to all columns." />
                        <dxe:CheckEdit x:Name="showIndicatorCheckEdit" Margin="0,0,0,0" IsChecked="{Binding Path=GridControl.View.ShowIndicator, Mode=TwoWay}" Content="Show Indicator" ToolTipService.ToolTip="Specifies whether the Row Indicator panel is displayed." />
                    </StackPanel>
                </dx:GroupFrame>
                <dx:GroupFrame Header="Appearance Options" Margin="0,0,0,12">
                    <StackPanel>
                        <dxe:CheckEdit Name="showVerticalLinesCheckEdit" Margin="0,0,0,4" IsChecked="{Binding Path=GridControl.View.ShowVerticalLines, Mode=TwoWay}" Content="Show Vertical Lines" ToolTipService.ToolTip="Specifies whether to display vertical grid lines." />
                        <dxe:CheckEdit Name="showHorizontalLinesCheckEdit" Margin="0,0,0,0" IsChecked="{Binding Path=GridControl.View.ShowHorizontalLines, Mode=TwoWay}" Content="Show Horizontal Lines" ToolTipService.ToolTip="Specifies whether to display horizontal grid lines." />
                    </StackPanel>
                </dx:GroupFrame>
                <dx:GroupFrame Header="Navigation Style" Margin="0,0,0,12">
                    <dxe:ComboBoxEdit Margin="0,0,0,0" IsTextEditable="False" x:Name="NavigationStyleComboBox" ItemsSource="{Binding NavigationStyles, Source={StaticResource DemoValuesProvider}}" SelectedIndex="0" SelectedItem="{Binding Path=GridControl.View.NavigationStyle, Mode=TwoWay}" ToolTipService.ToolTip="Specifies whether row and/or cell focusing is allowed." />
                </dx:GroupFrame>
                <dx:GroupFrame Header="Summary Options" Margin="0,0,0,12">
                    <dxe:ListBoxEdit x:Name="lbSummary" Background="{x:Null}" Margin="0,0,30,0" ShowBorder="False" SelectedIndex="0" SelectedIndexChanged="lbSummary_SelectedIndexChanged">
                        <dxe:ListBoxEdit.StyleSettings>
                            <dxe:RadioListBoxEditStyleSettings />
                        </dxe:ListBoxEdit.StyleSettings>
                        <sys:String>Show Fixed Summary Panel</sys:String>
                        <sys:String>Show Summary Panel</sys:String>
                    </dxe:ListBoxEdit>
                </dx:GroupFrame>
            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl x:Name="grid" ItemsSource="{Binding Path=Invoices, Source={StaticResource NWindDataLoader}}">
            <dxg:GridControl.Columns>
                <dxg:GridColumn x:Name="colID" FieldName="OrderID" MinWidth="60" Width="60" AllowResizing="False" FixedWidth="true" Header="ID" />
                <dxg:GridColumn x:Name="colCountry" FieldName="Country" MinWidth="50" Width="50" SortIndex="0" />
                <dxg:GridColumn x:Name="colCity" FieldName="City" MinWidth="50" Width="50" />
                <dxg:GridColumn x:Name="colUnitPrice" FieldName="UnitPrice" MinWidth="50" Width="50">
                    <dxg:GridColumn.EditSettings>
                        <dxe:SpinEditSettings MaskType="Numeric" MaskUseAsDisplayFormat="True" Mask="c" MaskCulture="en-US" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn x:Name="colQuantity" FieldName="Quantity" MinWidth="50" Width="50" />
                <dxg:GridColumn x:Name="colTotal" FieldName="Total" MinWidth="50" Width="50" UnboundType="Decimal" ReadOnly="True" UnboundExpression="([UnitPrice] * [Quantity]) * (1 - [Discount])">
                    <dxg:GridColumn.EditSettings>
                        <dxe:TextEditSettings MaskType="Numeric" MaskUseAsDisplayFormat="True" Mask="c" MaskCulture="en-US" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
            </dxg:GridControl.Columns>
            <dxg:GridControl.TotalSummary>
                <dxg:GridSummaryItem FieldName="Country" SummaryType="Count" />
                <dxg:GridSummaryItem SummaryType="Count" Alignment="Right" />
            </dxg:GridControl.TotalSummary>
            <dxg:GridControl.View>
                <dxg:TableView x:Name="view" AllowFixedGroups="True" ShowGroupedColumns="True" AllowCascadeUpdate="True" AllowPerPixelScrolling="True" NavigationStyle="Row" AutoWidth="True" ShowFixedTotalSummary="True" />
            </dxg:GridControl.View>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!�using System;
using System.Windows.Data;
using DevExpress.Xpf.Grid;
using System.Windows;
using DevExpress.Xpf.DemoBase;

namespace GridDemo {
    [CodeFile("Controls/Converters.(cs)")]
    public partial class TableView : GridDemoModule {
        public TableView() {
            InitializeComponent();
        }

        void lbSummary_SelectedIndexChanged(object sender, RoutedEventArgs e) {
            if(lbSummary.SelectedIndex == 0) {
                grid.View.ShowTotalSummary = false;
                grid.View.ShowFixedTotalSummary = true;
            }
            else {
                grid.View.ShowTotalSummary = true;
                grid.View.ShowFixedTotalSummary = false;
            }
        }
    }
}!�<local:GridDemoModule x:Class="GridDemo.TotalSummary" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:local="clr-namespace:GridDemo" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:global="clr-namespace:System.Globalization;assembly=mscorlib" 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:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008">
    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/Themes/generic.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
            <dxdb:NWindDataLoader x:Key="NWindDataLoader" />
            <local:DemoDataProvider x:Key="DemoDataProvider" />
            <dx:FormatStringConverter x:Key="FormatStringConverter" FormatString="0.##" />
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl SupressGroupFramePaddingInOptions="False">
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel Orientation="Vertical">
                <dxe:CheckEdit x:Name="cbTotalSummaryPanelsContextMenuEndbled" IsChecked="{Binding Path=View.IsTotalSummaryMenuEnabled, Mode=TwoWay}" Content="Summary Context Menu Enabled" Margin="0,0,6,12" />
                <dxe:CheckEdit x:Name="cbShowFooter" IsChecked="{Binding Path=View.ShowTotalSummary, Mode=TwoWay}" Content="Show Summary Panel" Margin="0,0,6,12" />
                <dxe:CheckEdit x:Name="cbShowFixedTotalSummary" IsChecked="{Binding Path=View.ShowFixedTotalSummary, Mode=TwoWay}" Content="Show Fixed Total Summary Panel" Margin="0,0,6,12" />
                <Button x:Name="btnTotalSummaryEditor" Content="Total Summary Editor" Click="btnTotalSummaryEditor_Click" Margin="0,0,0,12" Height="22" />
                <Button x:Name="btnFixedTotalSummaryEditor" Content="Fixed Total Summary Editor" Click="btnFixedTotalSummaryEditor_Click" Margin="0,0,0,12" Height="22" />
            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl Grid.Row="1" Name="grid" Grid.Column="0" ItemsSource="{Binding Path=Invoices, Source={StaticResource NWindDataLoader}}">
            <dxg:GridControl.Columns>
                <dxg:GridColumn FieldName="Country" MinWidth="80" Width="80" />
                <dxg:GridColumn FieldName="City" MinWidth="100" Width="100" />
                <dxg:GridColumn FieldName="UnitPrice" MinWidth="150" Width="150">
                    <dxg:GridColumn.EditSettings>
                        <dxe:TextEditSettings DisplayFormat="$0.00" MaskType="Numeric" />
                    </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:GridColumn FieldName="Total" UnboundType="Decimal" MinWidth="150" Width="150" UnboundExpression="([UnitPrice] * [Quantity]) * (1 - [Discount])">
                    <dxg:GridColumn.EditSettings>
                        <dxe:TextEditSettings DisplayFormat="$0.00" MaskType="Numeric" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
            </dxg:GridControl.Columns>
            <dxg:GridControl.TotalSummary>
                <dxg:GridSummaryItem SummaryType="Count" Alignment="Right" />
                <dxg:GridSummaryItem FieldName="UnitPrice" SummaryType="Min" ShowInColumn="UnitPrice" />
                <dxg:GridSummaryItem FieldName="Discount" SummaryType="Max" ShowInColumn="Discount" />
                <dxg:GridSummaryItem FieldName="Total" SummaryType="Sum" ShowInColumn="Total" />
            </dxg:GridControl.TotalSummary>
            <dxg:GridControl.View>
                <dxg:TableView NavigationStyle="Row" ShowTotalSummary="True" ShowFixedTotalSummary="True" AutoWidth="True">
                </dxg:TableView>
            </dxg:GridControl.View>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!�using System;
using System.Windows;
using System.Windows.Media;
using DevExpress.Xpf.Grid;
using DevExpress.Xpf.Core;
using DevExpress.Xpf.Editors;
using System.Windows.Controls;

namespace GridDemo {
    public partial class TotalSummary : GridDemoModule {
        public TotalSummary() {
            InitializeComponent();
        }

        void btnTotalSummaryEditor_Click(object sender, RoutedEventArgs e) {
            grid.View.ShowTotalSummaryEditor(grid.Columns[2]);
        }

        void btnFixedTotalSummaryEditor_Click(object sender, RoutedEventArgs e) {
            grid.View.ShowFixedTotalSummaryEditor();
        }
    }
}!�<local:GridDemoModule x:Class="GridDemo.TreeListView" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" UseGridControlWrapperAsDataContext="True" xmlns:local="clr-namespace:GridDemo" 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:sys="clr-namespace:System;assembly=mscorlib" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:global="clr-namespace:System.Globalization;assembly=mscorlib" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxgt="http://schemas.devexpress.com/winfx/2008/xaml/grid/themekeys" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase">

    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/ModuleResources/TreeListViewTemplates.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
            <dxdb:EmployeesWithPhotoData x:Key="employeesData" />
        </ResourceDictionary>
    </local:GridDemoModule.Resources>

    <dxdb:DemoModuleControl>
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel>
                <dx:GroupFrame Header="Customization Options" Margin="0,0,0,12">
                    <StackPanel>
                        <dxe:CheckEdit x:Name="allowSortingCheckEdit" Margin="0,0,0,4" IsChecked="{Binding Path=GridControl.View.AllowSorting, Mode=TwoWay}" Content="Allow Sorting" />
                        <dxe:CheckEdit x:Name="allowMovingCheckEdit" Margin="0,0,0,4" IsChecked="{Binding Path=GridControl.View.AllowColumnMoving, Mode=TwoWay}" Content="Allow Moving" />
                        <dxe:CheckEdit x:Name="allowResizingCheckEdit" Margin="0,0,0,4" IsChecked="{Binding Path=GridControl.View.AllowResizing, Mode=TwoWay}" Content="Allow Resizing" />
                        <dxe:CheckEdit x:Name="showIndicatorCheckEdit" Margin="0,0,0,4" IsChecked="{Binding Path=GridControl.View.ShowIndicator, Mode=TwoWay}" Content="Show Indicator" />
                        <dxe:CheckEdit x:Name="autoWidthCheckEdit" Margin="0,0,0,4" IsChecked="{Binding Path=GridControl.View.AutoWidth, Mode=TwoWay}" Content="Column Auto Width" />
                        <dxe:CheckEdit x:Name="allowPerPixelScrollingCheckEdit" Margin="0,0,0,0" IsChecked="{Binding Path=GridControl.View.AllowPerPixelScrolling, Mode=TwoWay}" Content="Allow Per Pixel Scrolling" />
                    </StackPanel>
                </dx:GroupFrame>
                <dx:GroupFrame Header="Appearance Options" Margin="0,0,0,12">
                    <StackPanel>
                        <dxe:CheckEdit Name="showVerticalLinesCheckEdit" Margin="0,0,0,4" IsChecked="{Binding Path=GridControl.View.ShowVerticalLines, Mode=TwoWay}" Content="Show Vertical Lines" />
                        <dxe:CheckEdit Name="showHorizontalLinesCheckEdit" Margin="0,0,0,4" IsChecked="{Binding Path=GridControl.View.ShowHorizontalLines, Mode=TwoWay}" Content="Show Horizontal Lines" />
                        <dxe:CheckEdit Name="showTreelLinesCheckEdit" Margin="0,0,0,0" IsChecked="{Binding Path=GridControl.View.TreeLineStyle, Mode=TwoWay, Converter={StaticResource showTreeLinesConverter}}" Content="Show Tree Lines" />
                    </StackPanel>
                </dx:GroupFrame>
                <dx:GroupFrame Header="Navigation Style" Margin="0,0,0,12">
                    <dxe:ComboBoxEdit Margin="0,0,30,0" x:Name="NavigationStyleComboBox" IsTextEditable="False" SelectedItem="{Binding Path=GridControl.View.NavigationStyle, Mode=TwoWay}">
                        <dxe:ComboBoxEdit.ItemsSource>
                            <local:NavigationStyleList>
                                <dxg:GridViewNavigationStyle>Cell</dxg:GridViewNavigationStyle>
                                <dxg:GridViewNavigationStyle>Row</dxg:GridViewNavigationStyle>
                            </local:NavigationStyleList>
                        </dxe:ComboBoxEdit.ItemsSource>
                    </dxe:ComboBoxEdit>
                </dx:GroupFrame>
                <dxe:CheckEdit IsChecked="{Binding Path=GridControl.View.AllowFixedColumnMenu, Mode=TwoWay}" Content="Enable Fixed Column Menu" Margin="0,0,0,4" />
                <dxe:CheckEdit Name="chkEnableContextMenu" IsChecked="True" Content="Enable Context Menus" Margin="0,0,0,4" Checked="chkEnableContextMenu_Checked" Unchecked="chkEnableContextMenu_Unchecked" />
                <dxe:CheckEdit IsChecked="{Binding Path=GridControl.View.AllowEditing, Mode=TwoWay}" Margin="0,0,0,12" Content="Enable Editing" IsEnabled="{Binding Path=SelectedItem, ElementName=NavigationStyleComboBox, Converter={StaticResource navigationStyleToIsEnabledConverter}}" />
                <ToggleButton Name="showHideButton" Height="22" IsChecked="{Binding Path=GridControl.View.IsColumnChooserVisible, Mode=TwoWay}" Content="{Binding IsChecked, RelativeSource={RelativeSource Self}, Converter={StaticResource ShowColumnChooserButtonContentConverter}}" />
            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl x:Name="treeList" ItemsSource="{Binding Path=DataSource, Source={StaticResource employeesData}}">
            <dxg:GridControl.Columns>
                <dxg:GridColumn FieldName="JobTitle" />
                <dxg:GridColumn FieldName="FullName" UnboundType="String" AllowEditing="False" UnboundExpression="[FirstName] + ' ' + [LastName]" />
                <dxg:GridColumn FieldName="City" />
                <dxg:GridColumn FieldName="AddressLine1" Header="Address" Visible="False" />
                <dxg:GridColumn FieldName="Phone" Visible="False" />
                <dxg:GridColumn FieldName="GroupName" MinWidth="210" />
                <dxg:GridColumn FieldName="ImageData" Width="60" FixedWidth="True" Header="Photo" AllowResizing="False" CellTemplate="{StaticResource photoTemplate}" />
            </dxg:GridControl.Columns>
            <dxg:GridControl.View>
                    <dxg:TreeListView x:Name="view" AllowPerPixelScrolling="True" KeyFieldName="Id" ParentFieldName="ParentId" AutoWidth="True" ShowSearchPanelMode="Never" />
            </dxg:GridControl.View>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!tusing System.Windows;
using DevExpress.Xpf.DemoBase;

namespace GridDemo {
    [CodeFile("ModuleResources/TreeListViewTemplates(.SL).xaml")]
    [CodeFile("ModuleResources/TreeListViewClasses.(cs)")]
    public partial class TreeListView : GridDemoModule {
        public TreeListView() {
            InitializeComponent();
            this.view.ExpandAllNodes();
        }
        private void chkEnableContextMenu_Checked(object sender, RoutedEventArgs e) {
            view.IsColumnMenuEnabled = true;
            view.IsRowCellMenuEnabled = true;
            view.IsTotalSummaryMenuEnabled = true;
        }
        private void chkEnableContextMenu_Unchecked(object sender, RoutedEventArgs e) {
            view.IsColumnMenuEnabled = false;
            view.IsRowCellMenuEnabled = false;
            view.IsTotalSummaryMenuEnabled = false;
        }
    }
}!A<local:GridDemoModule x:Class="GridDemo.UnboundColumns" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:local="clr-namespace:GridDemo" 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008">
    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/ModuleResources/UnboundColumnsTemplates.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
            <dxdb:NWindDataLoader x:Key="NWindDataLoader" />
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl>
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel MinWidth="160">
                <dx:GroupFrame Header="Column:">
                    <dxe:ListBoxEdit Background="{x:Null}" ShowBorder="False" Name="columnsList" SelectedIndex="0">
                        <dxe:ListBoxEdit.StyleSettings>
                            <dxe:RadioListBoxEditStyleSettings />
                        </dxe:ListBoxEdit.StyleSettings>
                        <dxe:ListBoxEdit.Items>
                            <dxe:ListBoxEditItem Tag="DiscountAmount">Discount Amount</dxe:ListBoxEditItem>
                            <dxe:ListBoxEditItem Tag="Total">Total</dxe:ListBoxEditItem>
                            <dxe:ListBoxEditItem Tag="TotalScale">Total Scale</dxe:ListBoxEditItem>
                        </dxe:ListBoxEdit.Items>
                    </dxe:ListBoxEdit>
                </dx:GroupFrame>
                <Button Margin="0,12,0,0" Name="showExpressionEditorButton" Click="showExpressionEditorButton_Click">Show Expression Editor</Button>
            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl Name="grid" Grid.Column="0" ItemsSource="{Binding Path=InvoicesNew, Source={StaticResource NWindDataLoader}}">
            <dxg:GridControl.Columns>
                <dxg:GridColumn x:Name="colOrderID" FieldName="OrderID" Width="80" FixedWidth="True" GroupIndex="0" />
                <dxg:GridColumn x:Name="colProduct" FieldName="ProductID" MinWidth="200" Width="200">
                    <dxg:GridColumn.EditSettings>
                        <dxe:ComboBoxEditSettings AutoComplete="True" ImmediatePopup="True" ValueMember="ProductID" DisplayMember="ProductName" ItemsSource="{Binding Path=Products, Source={StaticResource NWindDataLoader}}" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn x:Name="colUnitPrice" FieldName="UnitPrice" MinWidth="30">
                    <dxg:GridColumn.EditSettings>
                        <dxe:TextEditSettings MaskType="Numeric" MaskUseAsDisplayFormat="True" Mask="c" MaskCulture="en-US" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn x:Name="colDiscount" FieldName="Discount" MinWidth="30">
                    <dxg:GridColumn.EditSettings>
                        <dxe:TextEditSettings MaskType="Numeric" MaskUseAsDisplayFormat="True" Mask="p0" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn x:Name="colQuantity" FieldName="Quantity" MinWidth="30" />
                <dxg:GridColumn x:Name="colDiscountAmount" FieldName="DiscountAmount" UnboundType="Decimal" UnboundExpression="Round([UnitPrice] * [Quantity] - [Total])" MinWidth="100" AllowEditing="False" AllowUnboundExpressionEditor="True">
                    <dxg:GridColumn.EditSettings>
                        <dxe:TextEditSettings DisplayFormat="$0.00" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn x:Name="colTotal" FieldName="Total" UnboundType="Decimal" UnboundExpression="([UnitPrice] * [Quantity]) * (1 - [Discount])" CellTemplateSelector="{StaticResource totalCellTemplateSelector}" MinWidth="100" AllowEditing="False" AllowUnboundExpressionEditor="True">
                    <dxg:GridColumn.EditSettings>
                        <dxe:TextEditSettings DisplayFormat="$0.00" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn x:Name="colTotalScale" FieldName="TotalScale" Visible="False" ShowInColumnChooser="False" UnboundType="Decimal" UnboundExpression="Iif([Total] &lt; 1000, 0.4, Min((0.5 + ([Total] - 1000) / 1000), 1.2))" AllowUnboundExpressionEditor="True" />
            </dxg:GridControl.Columns>
            <dxg:GridControl.GroupSummary>
                <dxg:GridSummaryItem FieldName="ProductID" SummaryType="Count" />
                <dxg:GridSummaryItem FieldName="Total" SummaryType="Sum" />
            </dxg:GridControl.GroupSummary>
            <dxg:GridControl.TotalSummary>
                <dxg:GridSummaryItem SummaryType="Count" Alignment="Right" />
                <dxg:GridSummaryItem FieldName="Total" SummaryType="Sum" Alignment="Left" />
            </dxg:GridControl.TotalSummary>
            <dxg:GridControl.View>
                <dxg:TableView AutoWidth="True" ShowFixedTotalSummary="True" />
            </dxg:GridControl.View>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!�using System.Windows;
using System.Windows.Controls;
using DevExpress.Xpf.DemoBase;

namespace GridDemo {
    [CodeFile("ModuleResources/UnboundColumnsTemplates(.SL).xaml")]
    [CodeFile("ModuleResources/UnboundColumnsClasses.(cs)")]
    public partial class UnboundColumns : GridDemoModule {
        public UnboundColumns() {
            InitializeComponent();
            grid.ExpandAllGroups();
        }
        private void showExpressionEditorButton_Click(object sender, RoutedEventArgs e) {
            grid.View.ShowUnboundExpressionEditor(grid.Columns[(string)((ListBoxItem)columnsList.SelectedItem).Tag]);
        }
    }
}!�<local:GridDemoModule x:Class="GridDemo.Validation" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:local="clr-namespace:GridDemo" 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" 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">
    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/Themes/generic.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
            <dxdb:NWindDataLoader x:Key="NWindDataLoader" />
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl>
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel>
                <dx:GroupFrame Header="Unit Price condition" Margin="0,0,0,12">
                    <dxe:ListBoxEdit Background="{x:Null}" x:Name="unitPriceConditionListBox" SelectedIndex="0" ShowBorder="False">
                        <dxe:ListBoxEdit.StyleSettings>
                            <dxe:RadioListBoxEditStyleSettings />
                        </dxe:ListBoxEdit.StyleSettings>
                        <dxe:ListBoxEdit.Items>
                            <local:IsGreaterThanValidationRule Value="10" />
                            <local:IsGreaterThanOrEqualToValidationRule Value="10" />
                            <local:IsLessThanValidationRule Value="10" />
                            <local:IsLessThanOrEqualToValidationRule Value="10" />
                            <local:DoesNotEqualValidationRule Value="10" />
                        </dxe:ListBoxEdit.Items>
                    </dxe:ListBoxEdit>
                </dx:GroupFrame>
                <dx:GroupFrame Header="Quantity condition" Margin="0,0,0,12">
                    <dxe:ListBoxEdit Background="{x:Null}" x:Name="quantityConditionListBox" SelectedIndex="4" ShowBorder="False">
                        <dxe:ListBoxEdit.StyleSettings>
                            <dxe:RadioListBoxEditStyleSettings />
                        </dxe:ListBoxEdit.StyleSettings>
                        <dxe:ListBoxEdit.Items>
                            <local:IsGreaterThanValidationRule Value="40" />
                            <local:IsGreaterThanOrEqualToValidationRule Value="40" />
                            <local:IsLessThanValidationRule Value="40" />
                            <local:IsLessThanOrEqualToValidationRule Value="40" />
                            <local:DoesNotEqualValidationRule Value="40" />
                        </dxe:ListBoxEdit.Items>
                    </dxe:ListBoxEdit>
                </dx:GroupFrame>
                <dx:GroupFrame Header="Discount condition" Margin="0,0,0,0">
                    <dxe:ListBoxEdit Background="{x:Null}" x:Name="discountConditionListBox" SelectedIndex="1" ShowBorder="False">
                        <dxe:ListBoxEdit.StyleSettings>
                            <dxe:RadioListBoxEditStyleSettings />
                        </dxe:ListBoxEdit.StyleSettings>
                        <dxe:ListBoxEdit.Items>
                            <local:IsGreaterThanValidationRule Value="0" />
                            <local:IsGreaterThanOrEqualToValidationRule Value="0" />
                            <local:IsLessThanValidationRule Value="0" />
                            <local:IsLessThanOrEqualToValidationRule Value="0" />
                            <local:DoesNotEqualValidationRule Value="0" />
                        </dxe:ListBoxEdit.Items>
                    </dxe:ListBoxEdit>
                </dx:GroupFrame>
            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl Name="grid">
            <dxg:GridControl.Columns>
                <dxg:GridColumn FieldName="OrderID" Width="50" MinWidth="30" ReadOnly="true" />
                <dxg:GridColumn FieldName="ProductID" Header="Product" Width="100">
                    <dxg:GridColumn.EditSettings>
                        <dxe:ComboBoxEditSettings AutoComplete="True" ImmediatePopup="True" ValueMember="ProductID" DisplayMember="ProductName" ItemsSource="{Binding Path=Products, Source={StaticResource NWindDataLoader}}" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn x:Name="colUnitPrice" FieldName="UnitPrice" Width="100" Validate="colUnitPrice_Validate">
                    <dxg:GridColumn.EditSettings>
                        <dxe:TextEditSettings MaskType="Numeric" MaskUseAsDisplayFormat="True" Mask="c" MaskCulture="en-US" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn x:Name="colQuantityPrice" FieldName="Quantity" Width="100" Validate="colQuantity_Validate">
                    <dxg:GridColumn.EditSettings>
                        <dxe:SpinEditSettings MaskType="Numeric" Mask="d" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn x:Name="colDiscount" FieldName="Discount" Width="100" Validate="colDiscount_Validate">
                    <dxg:GridColumn.EditSettings>
                        <dxe:SpinEditSettings MaskType="Numeric" MaskUseAsDisplayFormat="True" Mask="p0" Increment="0.01" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn FieldName="SubTotal" Width="100" UnboundType="Decimal" AllowEditing="False" UnboundExpression="([UnitPrice] * [Quantity]) * (1 - [Discount])">
                    <dxg:GridColumn.EditSettings>
                        <dxe:TextEditSettings MaskType="Numeric" MaskUseAsDisplayFormat="True" Mask="c" MaskCulture="en-US" />
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
            </dxg:GridControl.Columns>
            <dxg:GridControl.GroupSummary>
                <dxg:GridSummaryItem FieldName="From" SummaryType="Count" />
            </dxg:GridControl.GroupSummary>
            <dxg:GridControl.View>
                <dxg:TableView Name="view" AutoWidth="true" ValidateRow="view_ValidateRow" CellValueChanged="view_CellUpdated" RowCanceled="view_RowCanceled" />
            </dxg:GridControl.View>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!�using System;
using System.Collections.Generic;
using DevExpress.Xpf.Grid;
using System.Globalization;
using GridDemo;
using DevExpress.Xpf.DemoBase;
using DevExpress.Xpf.DemoBase.NWind;
using DataView = System.Collections.Generic.List<DevExpress.Xpf.DemoBase.NWind.OrderDetails>;
using DataRowView = DevExpress.Xpf.DemoBase.NWind.OrderDetails;
using DataRow = DevExpress.Xpf.DemoBase.NWind.OrderDetails;
using DevExpress.Xpf.Core;
using DevExpress.Data.Browsing;

namespace GridDemo {
    [CodeFile("ModuleResources/ValidationClasses.(cs)")]
    public partial class Validation : GridDemoModule {
        DataView dataView;
        public Validation() {
            InitializeComponent();
            dataView = NWindData.OrderDetailsNew as List<OrderDetails>;
            grid.ItemsSource = dataView;
            unitPriceConditionListBox.EditValueChanged += new DevExpress.Xpf.Editors.EditValueChangedEventHandler(validationComboBox_SelectionChanged);
            quantityConditionListBox.EditValueChanged += new DevExpress.Xpf.Editors.EditValueChangedEventHandler(validationComboBox_SelectionChanged);
            discountConditionListBox.EditValueChanged += new DevExpress.Xpf.Editors.EditValueChangedEventHandler(validationComboBox_SelectionChanged);
            UpdateErrors();
        }
        decimal GetSubTotal(DataRowView row) {
            object price = row.UnitPrice;
            object quantity = row.Quantity;
            object discount = row.Discount;
            if(price != null && quantity != null && discount != null) {
                return Convert.ToDecimal(price) * Convert.ToInt32(quantity) * (1 - Convert.ToDecimal(discount));
            }
            return 0;
        }
        private void view_ValidateRow(object sender, GridRowValidationEventArgs e) {
            UpdateRowErrors(GetRow((DataRowView)e.Row));
            decimal subTotal = GetSubTotal((DataRowView)e.Row);
            if(subTotal < 0)
                e.SetError("The SubTotal value must be greater than or equal to 0.");
        }
        private void colUnitPrice_Validate(object sender, GridCellValidationEventArgs e) {
            DoValidation(e, (ValidationRule)unitPriceConditionListBox.SelectedItem);
        }
        private void colQuantity_Validate(object sender, GridCellValidationEventArgs e) {
            DoValidation(e, (ValidationRule)quantityConditionListBox.SelectedItem);
        }
        private void colDiscount_Validate(object sender, GridCellValidationEventArgs e) {
            DoValidation(e, (ValidationRule)discountConditionListBox.SelectedItem);
        }
        void DoValidation(GridCellValidationEventArgs e, ValidationRule rule) {
            ValidationResult result = rule.Validate(e.Value, e.Culture);
            if(!result.IsValid) {
                e.SetError(result.ErrorContent);
            }
        }

        private void validationComboBox_SelectionChanged(object sender, DevExpress.Xpf.Editors.EditValueChangedEventArgs e) {
            UpdateErrors();
        }
        void UpdateErrors() {
            grid.BeginDataUpdate();
            try {
                foreach(DataRow row in dataView) {
                    UpdateRowErrors(row);
                }
            } finally {
                grid.EndDataUpdate();
            }
        }
        void UpdateRowErrors(DataRow row) {
            UpdateColumnError(row, "UnitPrice", (ValidationRule)unitPriceConditionListBox.SelectedItem);
            UpdateColumnError(row, "Quantity", (ValidationRule)quantityConditionListBox.SelectedItem);
            UpdateColumnError(row, "Discount", (ValidationRule)discountConditionListBox.SelectedItem);
        }
        void UpdateColumnError(DataRow row, string columnName, ValidationRule rule) {
            object value = TypeDescriptor.GetProperties(row)[columnName].GetValue(row);
            ValidationResult result = rule.Validate(value, CultureInfo.CurrentCulture);
            if(result.IsValid)
                row.SetColumnError(columnName, string.Empty);
            else
                row.SetColumnError(columnName, result.ErrorContent.ToString());
        }
        void view_CellUpdated(object sender, CellValueChangedEventArgs e) {
            UpdateRowErrors(GetRow((DataRowView)e.Row));
        }
        void view_RowCanceled(object sender, RowEventArgs e) {
            UpdateRowErrors(GetRow((DataRowView)e.Row));
        }
        DataRow GetRow(DataRowView rowView) {
            return rowView;
        }
    }
}!n)<local:GridDemoModule x:Class="GridDemo.VerticalScrollingOptions" mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="300" xmlns:local="clr-namespace:GridDemo" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 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:sys="clr-namespace:System;assembly=mscorlib" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" 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:dxdbd="clr-namespace:DevExpress.Xpf.DemoBase.DataClasses;assembly=DevExpress.Xpf.DemoBase.v13.1" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity">

    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/ModuleResources/VerticalScrollingOptionsTemplates.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
            <dxdb:NWindDataLoader x:Key="NWindDataLoader" />
            <dxdbd:CarsData x:Key="CarsData" />

            <local:VerticalScrollingOptionsViewModel x:Key="ViewModel">
                <local:VerticalScrollingOptionsViewModel.ControlDefinitions>
                    <local:GridControlDefinitionCollection>
                        <local:GridControlDefinition Name="Customers" DataSource="{Binding Path=Customers, Source={StaticResource NWindDataLoader}}">
                            <local:GridControlDefinition.Columns>
                                <local:GridColumnDefinition FieldName="CustomerID" Width="70" FixedWidth="True" />
                                <local:GridColumnDefinition FieldName="CompanyName" />
                                <local:GridColumnDefinition FieldName="Country" />
                                <local:GridColumnDefinition FieldName="Region" />
                                <local:GridColumnDefinition FieldName="City" />
                                <local:GridColumnDefinition FieldName="Phone" Width="100" FixedWidth="True" />
                                <local:GridColumnDefinition FieldName="ContactName" />
                            </local:GridControlDefinition.Columns>
                        </local:GridControlDefinition>
                        <local:GridControlDefinition Name="Cars" DataSource="{Binding Path=DataSource, Source={StaticResource CarsData}}">
                            <local:GridControlDefinition.Columns>
                                <local:GridColumnDefinition FieldName="ID" />
                                <local:GridColumnDefinition FieldName="Trademark" />
                                <local:GridColumnDefinition FieldName="Model" />
                                <local:GridColumnDefinition FieldName="Category" />
                                <local:GridColumnDefinition FieldName="Price">
                                    <local:GridColumnDefinition.EditSettings>
                                        <dxe:TextEditSettings DisplayFormat="$0" MaskType="Numeric" />
                                    </local:GridColumnDefinition.EditSettings>
                                </local:GridColumnDefinition>
                                <local:GridColumnDefinition FieldName="ImageSource" Header="Image" Width="200" FixedWidth="True">
                                    <local:GridColumnDefinition.EditSettings>
                                        <dxe:ImageEditSettings />
                                    </local:GridColumnDefinition.EditSettings>
                                </local:GridColumnDefinition>
                            </local:GridControlDefinition.Columns>
                        </local:GridControlDefinition>
                        <local:GridControlDefinition Name="Orders" DataSource="{Binding Path=OrderDetails, Source={StaticResource NWindDataLoader}}">
                            <local:GridControlDefinition.Columns>
                                <local:GridColumnDefinition FieldName="OrderID" Header="ID" Width="50" />
                                <local:GridColumnDefinition FieldName="ProductID" Header="Product">
                                    <local:GridColumnDefinition.EditSettings>
                                        <dxe:ComboBoxEditSettings ValueMember="ProductID" DisplayMember="ProductName" ItemsSource="{Binding Products, Source={StaticResource NWindDataLoader}}" />
                                    </local:GridColumnDefinition.EditSettings>
                                </local:GridColumnDefinition>
                                <local:GridColumnDefinition FieldName="UnitPrice">
                                    <local:GridColumnDefinition.EditSettings>
                                        <dxe:TextEditSettings MaskType="Numeric" MaskUseAsDisplayFormat="True" Mask="c" MaskCulture="en-US" />
                                    </local:GridColumnDefinition.EditSettings>
                                </local:GridColumnDefinition>
                                <local:GridColumnDefinition FieldName="Quantity" />
                                <local:GridColumnDefinition FieldName="Discount">
                                    <local:GridColumnDefinition.EditSettings>
                                        <dxe:SpinEditSettings MaskType="Numeric" MaskUseAsDisplayFormat="True" Mask="p0" />
                                    </local:GridColumnDefinition.EditSettings>
                                </local:GridColumnDefinition>
                            </local:GridControlDefinition.Columns>
                        </local:GridControlDefinition>
                    </local:GridControlDefinitionCollection>
                </local:VerticalScrollingOptionsViewModel.ControlDefinitions>
            </local:VerticalScrollingOptionsViewModel>
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl SupressGroupFramePaddingInOptions="False">
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel Orientation="Vertical" Margin="0,0,0,12">
                <dxe:CheckEdit x:Name="allowCascadeUpdateCheckEdit" Margin="0,0,0,4" IsChecked="{Binding Path=View.AllowCascadeUpdate, Mode=TwoWay}" Content="Allow Cascade Update" />
                <dxe:CheckEdit x:Name="allowPerPixelScrollingCheckEdit" Margin="0,0,0,12" IsChecked="{Binding Path=View.AllowPerPixelScrolling, Mode=TwoWay}" Content="Allow Per Pixel Scrolling" />
                <ContentControl IsEnabled="{Binding View.AllowPerPixelScrolling}" Margin="0,0,0,12" HorizontalContentAlignment="Stretch">
                    <dxdb:SliderControl x:Name="durationSlider" Margin="4,0,0,4" Header="Scroll Animation Duration" UOM="(ms)" Minimum="0" Maximum="2000" EditValue="{Binding Path=View.ScrollAnimationDuration, Mode=TwoWay}" SmallStep="1" LargeStep="1" ValueMinWidth="15" />
                </ContentControl>
                <dx:GroupFrame Header="Scroll Animation Mode" Margin="0,0,0,12" IsEnabled="{Binding View.AllowPerPixelScrolling}">
                    <dxe:ListBoxEdit Background="{x:Null}" ShowBorder="False" x:Name="animationEffectListBoxEdit" Margin="0,0,30,0" EditValue="{Binding Path=View.ScrollAnimationMode, Mode=TwoWay}">
                        <dxe:ListBoxEdit.StyleSettings>
                            <dxe:RadioListBoxEditStyleSettings />
                        </dxe:ListBoxEdit.StyleSettings>
                        <dxe:ListBoxEdit.Items>
                            <dxg:CustomComboBoxItem DisplayValue="Easy Out">
                                <dxg:CustomComboBoxItem.EditValue>
                                    <dxg:ScrollAnimationMode>EaseOut</dxg:ScrollAnimationMode>
                                </dxg:CustomComboBoxItem.EditValue>
                            </dxg:CustomComboBoxItem>
                            <dxg:CustomComboBoxItem DisplayValue="Linear">
                                <dxg:CustomComboBoxItem.EditValue>
                                    <dxg:ScrollAnimationMode>Linear</dxg:ScrollAnimationMode>
                                </dxg:CustomComboBoxItem.EditValue>
                            </dxg:CustomComboBoxItem>
                            <dxg:CustomComboBoxItem DisplayValue="Easy In/Out">
                                <dxg:CustomComboBoxItem.EditValue>
                                    <dxg:ScrollAnimationMode>EaseInOut</dxg:ScrollAnimationMode>
                                </dxg:CustomComboBoxItem.EditValue>
                            </dxg:CustomComboBoxItem>
                        </dxe:ListBoxEdit.Items>
                    </dxe:ListBoxEdit>
                </dx:GroupFrame>
                <dx:GroupFrame Header="Data Source">
                    <dxe:ListBoxEdit x:Name="gridDataSourceListBoxEdit" ItemsSource="{Binding ControlDefinitions, Source={StaticResource ViewModel}}" SelectedItem="{Binding SelectedDefinition, Source={StaticResource ViewModel}, Mode=TwoWay}" ShowBorder="False" Background="{x:Null}" DisplayMember="Name">
                        <dxe:ListBoxEdit.StyleSettings>
                            <dxe:RadioListBoxEditStyleSettings />
                        </dxe:ListBoxEdit.StyleSettings>
                    </dxe:ListBoxEdit>
                </dx:GroupFrame>
            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl Name="grid" AutoGenerateColumns="KeepOld" ItemsSource="{Binding SelectedDefinition.DataSource, Source={StaticResource ViewModel}}" ColumnsSource="{Binding SelectedDefinition.Columns, Source={StaticResource ViewModel}}" ColumnGeneratorTemplate="{StaticResource ColumnTemplate}">
            <i:Interaction.Triggers>
                <i:EventTrigger EventName="ItemsSourceChanged">
                    <i:InvokeCommandAction Command="{Binding Path=View.Commands.ClearFilter, ElementName=grid}" />
                </i:EventTrigger>
            </i:Interaction.Triggers>
            <dxg:GridControl.View>
                <dxg:TableView x:Name="gridView" AllowCascadeUpdate="True" AllowPerPixelScrolling="True" AutoWidth="True" AllowEditing="False" />
            </dxg:GridControl.View>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!�using System;
using System.Collections.Generic;
using System.Linq;
using DevExpress.Xpf.DemoBase;

namespace GridDemo {
    [CodeFile("ModuleResources/VerticalScrollingOptionsViewModel.(cs)")]
    [CodeFile("ModuleResources/VerticalScrollingOptionsTemplates(.SL).xaml")]
    public partial class VerticalScrollingOptions : GridDemoModule {
        public VerticalScrollingOptions() {
            InitializeComponent();
        }
    }
}!y<local:GridDemoModule x:Class="GridDemo.WCFInstantFeedback" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" UseGridControlWrapperAsDataContext="True" xmlns:local="clr-namespace:GridDemo" 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:wcfsc="clr-namespace:GridDemo.WcfSCService" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity">

    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/ModuleResources/WcfInstantFeedbackTemplates.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl SupressGroupFramePaddingInOptions="False">
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel MinWidth="165" MaxWidth="230">
                <local:InternetConnectionControl />
                <dx:GroupFrame Header="Filter Criteria" Margin="0,0,0,12">
                    <dxe:ComboBoxEdit x:Name="filter" DisplayMember="DisplayValue" ValueMember="EditValue" IsTextEditable="False" EditValue="{Binding GridControl.FilterString, Mode=TwoWay}" ShowNullTextForEmptyValue="False">
                        <dxg:CustomComboBoxItem DisplayValue="All" EditValue="" />
                        <dxg:CustomComboBoxItem DisplayValue=".NET" EditValue="[TechnologyName] = '.NET'" />
                        <dxg:CustomComboBoxItem DisplayValue="Urgent" EditValue="[Urgent] = True" />
                    </dxe:ComboBoxEdit>
                </dx:GroupFrame>
                <dxe:CheckEdit x:Name="UseExtendedDataQueryCheckEdit" Content="Extend Data Query" IsChecked="{Binding GridControl.DataContext.IsUseExtendedDataQuery, Mode=TwoWay}" />
                <TextBlock TextWrapping="Wrap" Margin="0,4,0,0">When this option is enabled, the grid uses an additional WCF Service method to speed up the performance of data management operations (grouping, sorting, filtering, etc).</TextBlock>
                <dx:WcfInstantFeedbackDataSource Name="wcfInstantSource" KeyExpression="Oid" DataServiceContext="{Binding GridControl.DataContext.WcfSCService}" Query="{Binding Path=GridControl.DataContext.WcfSCService.SCIssuesDemo}" UseExtendedDataQuery="{Binding GridControl.DataContext.IsUseExtendedDataQuery}" />
            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl Name="grid" ItemsSource="{Binding ElementName=wcfInstantSource, Path=Data}" SelectionMode="Row">
            <dxg:GridControl.Columns>
                <dxg:GridColumn x:Name="colId" FieldName="ID" Width="70" FixedWidth="True" AllowGrouping="False" AllowColumnFiltering="False" AllowResizing="False" CellTemplate="{StaticResource idTemplate}" />
                <dxg:GridColumn x:Name="colSubject" FieldName="Subject" Width="200" AllowGrouping="False" AllowColumnFiltering="False" />
                <dxg:GridColumn x:Name="colTechnologyName" FieldName="TechnologyName" Width="60" Header="Technology" />
                <dxg:GridColumn x:Name="colProductName" FieldName="ProductName" Width="120" Header="Product" AllowColumnFiltering="{Binding IsChecked, Converter={StaticResource BooleanToDefaultBooleanConverter}, ElementName=UseExtendedDataQueryCheckEdit}" AllowGrouping="{Binding IsChecked, Converter={StaticResource BooleanToDefaultBooleanConverter}, ElementName=UseExtendedDataQueryCheckEdit}" />
                <dxg:GridColumn x:Name="colStatus" FieldName="Status" FixedWidth="True" Width="60" AllowResizing="False" CellTemplate="{StaticResource statusTemplate}" />
                <dxg:GridColumn x:Name="colCreatedOn" FieldName="CreatedOn" AllowGrouping="False" AllowColumnFiltering="False" AllowResizing="False" Width="90" FixedWidth="True" />
                <dxg:GridColumn x:Name="colUrgent" FieldName="Urgent" FixedWidth="True" Width="70" AllowResizing="False" />
            </dxg:GridControl.Columns>
            <dxg:GridControl.GroupSummary>
                <dxg:GridSummaryItem FieldName="TechnologyName" SummaryType="Count" />
            </dxg:GridControl.GroupSummary>
            <dxg:GridControl.TotalSummary>
                <dxg:GridSummaryItem SummaryType="Count" Alignment="Right" />
            </dxg:GridControl.TotalSummary>
            <dxg:GridControl.View>
                <dxg:TableView x:Name="view" ShowFixedTotalSummary="True" WaitIndicatorType="Panel" ShowAutoFilterRow="True" AutoWidth="True" NavigationStyle="Row" AllowEditing="False" />
            </dxg:GridControl.View>
        </dxg:GridControl>
        <i:Interaction.Triggers>
            <i:EventTrigger EventName="BeforeModuleDisappear">
                <i:InvokeCommandAction Command="{Binding ElementName=wcfInstantSource, Path=DisposeCommand}" />
            </i:EventTrigger>
        </i:Interaction.Triggers>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!:using System;
using System.Diagnostics;
using DevExpress.Xpf.DemoBase.Helpers;
using System.Windows.Data;
using DevExpress.Xpf.DemoBase;

namespace GridDemo {
    [CodeFile("ModuleResources/WcfInstantFeedbackViewModel.(cs)")]
    [CodeFile("ModuleResources/WcfInstantFeedbackTemplates(.SL).xaml")]
    [CodeFile("ModuleResources/HyperLinkAttachedBehavior.(cs)")]
    [CodeFile("Controls/Converters.(cs)")]
    public partial class WCFInstantFeedback : GridDemoModule {
        public WCFInstantFeedback() {
            InitializeComponent();
            WCFInstantFeedbackViewModel viewModel = new WCFInstantFeedbackViewModel();
            DataContext = viewModel;
            viewModel.PropertyChanged += viewModel_PropertyChanged;
        }

        void viewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) {
            if(!(sender as WCFInstantFeedbackViewModel).IsUseExtendedDataQuery) {
                colProductName.GroupIndex = -1;
                grid.FilterCriteria = null;
            }
        }
    }
}!D<local:GridDemoModule x:Class="GridDemo.XPOInstantFeedback" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" UseGridControlWrapperAsDataContext="True" xmlns:local="clr-namespace:GridDemo" 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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008">
    <local:GridDemoModule.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/GridDemo;component/Themes/generic.SL.xaml" />
                <ResourceDictionary Source="/GridDemo;component/ModuleResources/XPOInstantFeedbackTemplates.SL.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </local:GridDemoModule.Resources>
    <dxdb:DemoModuleControl SupressGroupFramePaddingInOptions="False">
        <dxdb:DemoModuleControl.OptionsContent>
            <StackPanel MinWidth="165" MaxWidth="230">
                <local:InternetConnectionControl />
                <dx:GroupFrame Header="Filter Criteria" Margin="0,0,0,12">
                    <dxe:ComboBoxEdit x:Name="filter" DisplayMember="DisplayValue" ValueMember="EditValue" IsTextEditable="False" EditValue="{Binding GridControl.FilterString, Mode=TwoWay}" ShowNullTextForEmptyValue="False">
                        <dxg:CustomComboBoxItem DisplayValue="All" EditValue="" />
                        <dxg:CustomComboBoxItem DisplayValue=".NET" EditValue="[TechnologyName] = '.NET'" />
                        <dxg:CustomComboBoxItem DisplayValue="Urgent" EditValue="[Urgent] = True" />
                    </dxe:ComboBoxEdit>
                </dx:GroupFrame>
                <dx:GroupFrame Header="Wait Indicator Type" Margin="0,0,0,12">
                    <dxe:ListBoxEdit Background="{x:Null}" ShowBorder="False" Margin="0,0,30,0" SelectedItem="{Binding GridControl.View.WaitIndicatorType, Mode=OneTime}" x:Name="waitIndicatorList">
                        <dxe:ListBoxEdit.StyleSettings>
                            <dxe:RadioListBoxEditStyleSettings />
                        </dxe:ListBoxEdit.StyleSettings>
                        <dxe:ListBoxEdit.Items>
                            <dxg:WaitIndicatorType>Default</dxg:WaitIndicatorType>
                            <dxg:WaitIndicatorType>Panel</dxg:WaitIndicatorType>
                            <dxg:WaitIndicatorType>None</dxg:WaitIndicatorType>
                            <sys:String>Custom</sys:String>
                        </dxe:ListBoxEdit.Items>
                    </dxe:ListBoxEdit>
                </dx:GroupFrame>

                <dx:GroupFrame Header="Animation Style" Margin="0,0,0,0">
                    <StackPanel Orientation="Vertical">
                        <dxe:ListBoxEdit x:Name="animationStyle" Background="{x:Null}" ShowBorder="False" Margin="0,0,30,12" SelectedItem="{Binding GridControl.View.RowAnimationKind, Mode=TwoWay}">
                            <dxe:ListBoxEdit.StyleSettings>
                                <dxe:RadioListBoxEditStyleSettings />
                            </dxe:ListBoxEdit.StyleSettings>
                            <dxe:ListBoxEdit.Items>
                                <dxg:RowAnimationKind>None</dxg:RowAnimationKind>
                                <dxg:RowAnimationKind>Opacity</dxg:RowAnimationKind>
                            </dxe:ListBoxEdit.Items>
                        </dxe:ListBoxEdit>
                        <StackPanel Orientation="Vertical">
                            <StackPanel.Visibility>
                                <Binding Path="GridControl.View.RowAnimationKind">
                                    <Binding.Converter>
                                        <dx:EnumToObjectConverter DefaultValue="Collapsed">
                                            <dx:EnumToObjectConverter.Values>
                                                <dx:EnumObjectProvider x:Key="Opacity" Value="Visible" />
                                            </dx:EnumToObjectConverter.Values>
                                        </dx:EnumToObjectConverter>
                                    </Binding.Converter>
                                </Binding>
                            </StackPanel.Visibility>
                            <dxdb:SliderControl Header="Animation Duration" UOM="(ms)" Margin="0,0,0,0" EditValue="{Binding Path=GridControl.View.RowOpacityAnimationDuration, Converter={StaticResource DurationToDoubleConverter}, Mode=TwoWay}" Minimum="100" Maximum="3000" SmallStep="50" LargeStep="100" />
                        </StackPanel>
                    </StackPanel>
                </dx:GroupFrame>

            </StackPanel>
        </dxdb:DemoModuleControl.OptionsContent>
        <dxg:GridControl Name="grid" SelectionMode="Row">
            <dxg:GridControl.Columns>
                <dxg:GridColumn x:Name="colId" FieldName="Id" Width="70" FixedWidth="True" AllowGrouping="False" AllowColumnFiltering="False" AllowResizing="False" CellTemplate="{StaticResource idTemplate}" />
                <dxg:GridColumn x:Name="colSubject" FieldName="Subject" Width="300" AllowGrouping="False" />
                <dxg:GridColumn x:Name="colStatus" FieldName="Status" FixedWidth="True" Width="70" AllowResizing="False" CellTemplate="{StaticResource statusTemplate}" />
                <dxg:GridColumn x:Name="colCreatedOn" FieldName="CreatedOn" GroupInterval="DateYear" AllowResizing="False" Width="100" FixedWidth="True" />
                <dxg:GridColumn x:Name="colHoursActive" FieldName="HoursActive" Header="HA" FixedWidth="True" Width="55" AllowResizing="False" HeaderToolTip="Hours Active" AllowGrouping="False" AllowUnboundExpressionEditor="True" UnboundType="Integer" UnboundExpression="DateDiffHour([CreatedOn], [ModifiedOn])" />
                <dxg:GridColumn x:Name="colProductName" FieldName="ProductName" Header="Product" GroupIndex="1" />
                <dxg:GridColumn x:Name="colTechnologyName" FieldName="TechnologyName" Header="Technology" GroupIndex="0" />
                <dxg:GridColumn x:Name="colUrgent" FieldName="Urgent" FixedWidth="True" Width="70" AllowResizing="False" />
            </dxg:GridControl.Columns>
            <dxg:GridControl.GroupSummary>
                <dxg:GridSummaryItem FieldName="ProductName" SummaryType="Count" />
            </dxg:GridControl.GroupSummary>
            <dxg:GridControl.TotalSummary>
                <dxg:GridSummaryItem FieldName="Subject" SummaryType="Count" Alignment="Right" />
            </dxg:GridControl.TotalSummary>
            <dxg:GridControl.View>
                <dxg:TableView x:Name="view" ShowFixedTotalSummary="True" WaitIndicatorType="Panel" ShowAutoFilterRow="True" AutoWidth="True" NavigationStyle="Row" AllowEditing="False" />
            </dxg:GridControl.View>
        </dxg:GridControl>
    </dxdb:DemoModuleControl>
</local:GridDemoModule>!�using System;
using System.Diagnostics;
using System.Reflection;
using System.Windows;
using System.Windows.Data;
using System.Windows.Input;
using DevExpress.Xpf.Grid;
using DevExpress.Xpo;
using DevExpress.Xpf.DemoBase;

namespace GridDemo {
    [CodeFile("ModuleResources/XPOInstantFeedbackTemplates(.SL).xaml")]
    [CodeFile("ModuleResources/XPOInstantFeedbackClasses.(cs)")]
    [CodeFile("ModuleResources/HyperLinkAttachedBehavior.(cs)")]
    [CodeFile("Controls/Converters.(cs)")]
    public partial class XPOInstantFeedback : GridDemoModule {
        XPInstantFeedbackSource instantDS;
        public XPOInstantFeedback() {
            XPOServiceHelper.SetupXpoLayer();
            instantDS = new XPInstantFeedbackSource(typeof(Question));
            instantDS.ResolveSession += new EventHandler<ResolveSessionEventArgs>(instantDS_ResolveSession);
            instantDS.DismissSession += new EventHandler<ResolveSessionEventArgs>(instantDS_DismissSession);
            instantDS.DefaultSorting = "CreatedOn desc";
            InitializeComponent();
            grid.ItemsSource = instantDS;
            waitIndicatorList.EditValueChanged += waitIndicatorList_EditValueChanged;
        }
        protected override void Clear() {
            base.Clear();
            instantDS.Dispose();
        }
        void instantDS_DismissSession(object sender, ResolveSessionEventArgs e) {
            IDisposable session = e.Session as IDisposable;
            if(session != null) {
                session.Dispose();
            }
        }
        void instantDS_ResolveSession(object sender, ResolveSessionEventArgs e) {
            Session s = new UnitOfWork();
            e.Session = s;
        }
        private void waitIndicatorList_EditValueChanged(object sender, DevExpress.Xpf.Editors.EditValueChangedEventArgs e) {
            if(e.NewValue.ToString() == "Custom") {
                view.WaitIndicatorType = WaitIndicatorType.Panel;
                view.WaitIndicatorStyle = Resources["CustomWaitIndicatorStyle"] as Style;
            }
            else {
                view.ClearValue(GridViewBase.WaitIndicatorStyleProperty);
                view.WaitIndicatorType = (WaitIndicatorType)e.NewValue;
            }
        }
    }
}!
using System;
using System.Windows;
using DevExpress.DemoData;
using DevExpress.Xpf.DemoBase;
using DevExpress.Xpf.DemoBase.Helpers;
using DevExpress.DemoData.Helpers;

namespace GridDemo {
    public class App : Application {
        public App() {
            StartupBase.Run<Startup>(this);
        }
    }
    public class Startup : DemoStartup {
        public static void InitDemo() {
#if !EXTMAP
            Loader.DemoDataAssembly = typeof(DevExpress.DemoData.AssemblyMarker).Assembly;
#endif
        }
        protected override bool GetDebug() {
#if DEBUG
            return true;
#else
            return false;
#endif
        }
        protected override Type GetFixtureTypeForXBAPOrSLTesting() {
            return null;
        }
    }
}!"using System;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Windows;
using DevExpress.Xpf.DemoBase;

[assembly: AssemblyTitle("DevExpress DXGrid for Silverlight Main Demo")]
[assembly: AssemblyDescription("DevExpress DXGrid for Silverlight Main Demo")]
[assembly: AssemblyProduct("DevExpress DXGrid for Silverlight")]
[assembly: AssemblyTrademark("DevExpress DXGrid for Silverlight")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany(AssemblyInfo.AssemblyCompany)]
[assembly: AssemblyCopyright(AssemblyInfo.AssemblyCopyright)]
[assembly: AssemblyCulture("")]

[assembly: ProductID("DXGrid.Ag")]

[assembly: ComVisible(false)]


[assembly: AssemblyVersion(AssemblyInfo.Version)]
[assembly: AssemblyFileVersion(AssemblyInfo.FileVersion)]!W(
namespace GridDemo.WcfSCService
{
    public partial class SCEntities : global::System.Data.Services.Client.DataServiceContext
    {
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public SCEntities(global::System.Uri serviceRoot) :
                base(serviceRoot)
        {
            this.ResolveName = new global::System.Func<global::System.Type, string>(this.ResolveNameFromType);
            this.ResolveType = new global::System.Func<string, global::System.Type>(this.ResolveTypeFromName);
            this.OnContextCreated();
        }
        partial void OnContextCreated();
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        protected global::System.Type ResolveTypeFromName(string typeName)
        {
            if (typeName.StartsWith("SCModel", global::System.StringComparison.Ordinal))
            {
                return this.GetType().Assembly.GetType(string.Concat("GridDemo.WcfSCService", typeName.Substring(17)), false);
            }
            return null;
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        protected string ResolveNameFromType(global::System.Type clientType)
        {
            if (clientType.Namespace.Equals("GridDemo.WcfSCService", global::System.StringComparison.Ordinal))
            {
                return string.Concat("SCModel.", clientType.Name);
            }
            return null;
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public global::System.Data.Services.Client.DataServiceQuery<SCIssuesDemo> SCIssuesDemo
        {
            get
            {
                if ((this._SCIssuesDemo == null))
                {
                    this._SCIssuesDemo = base.CreateQuery<SCIssuesDemo>("SCIssuesDemo");
                }
                return this._SCIssuesDemo;
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private global::System.Data.Services.Client.DataServiceQuery<SCIssuesDemo> _SCIssuesDemo;
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public void AddToSCIssuesDemo(SCIssuesDemo SCIssuesDemo)
        {
            base.AddObject("SCIssuesDemo", SCIssuesDemo);
        }
    }
    [global::System.Data.Services.Common.EntitySetAttribute("SCIssuesDemo")]
    [global::System.Data.Services.Common.DataServiceKeyAttribute("Oid")]
    public partial class SCIssuesDemo : global::System.ComponentModel.INotifyPropertyChanged
    {
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public static SCIssuesDemo CreateSCIssuesDemo(global::System.Guid oid)
        {
            SCIssuesDemo SCIssuesDemo = new SCIssuesDemo();
            SCIssuesDemo.Oid = oid;
            return SCIssuesDemo;
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public global::System.Guid Oid
        {
            get
            {
                return this._Oid;
            }
            set
            {
                this.OnOidChanging(value);
                this._Oid = value;
                this.OnOidChanged();
                this.OnPropertyChanged("Oid");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private global::System.Guid _Oid;
        partial void OnOidChanging(global::System.Guid value);
        partial void OnOidChanged();
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public string ID
        {
            get
            {
                return this._ID;
            }
            set
            {
                this.OnIDChanging(value);
                this._ID = value;
                this.OnIDChanged();
                this.OnPropertyChanged("ID");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private string _ID;
        partial void OnIDChanging(string value);
        partial void OnIDChanged();
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public string Subject
        {
            get
            {
                return this._Subject;
            }
            set
            {
                this.OnSubjectChanging(value);
                this._Subject = value;
                this.OnSubjectChanged();
                this.OnPropertyChanged("Subject");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private string _Subject;
        partial void OnSubjectChanging(string value);
        partial void OnSubjectChanged();
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public global::System.Nullable<global::System.DateTime> ModifiedOn
        {
            get
            {
                return this._ModifiedOn;
            }
            set
            {
                this.OnModifiedOnChanging(value);
                this._ModifiedOn = value;
                this.OnModifiedOnChanged();
                this.OnPropertyChanged("ModifiedOn");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private global::System.Nullable<global::System.DateTime> _ModifiedOn;
        partial void OnModifiedOnChanging(global::System.Nullable<global::System.DateTime> value);
        partial void OnModifiedOnChanged();
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public global::System.Nullable<global::System.DateTime> CreatedOn
        {
            get
            {
                return this._CreatedOn;
            }
            set
            {
                this.OnCreatedOnChanging(value);
                this._CreatedOn = value;
                this.OnCreatedOnChanged();
                this.OnPropertyChanged("CreatedOn");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private global::System.Nullable<global::System.DateTime> _CreatedOn;
        partial void OnCreatedOnChanging(global::System.Nullable<global::System.DateTime> value);
        partial void OnCreatedOnChanged();
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public string ProductName
        {
            get
            {
                return this._ProductName;
            }
            set
            {
                this.OnProductNameChanging(value);
                this._ProductName = value;
                this.OnProductNameChanged();
                this.OnPropertyChanged("ProductName");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private string _ProductName;
        partial void OnProductNameChanging(string value);
        partial void OnProductNameChanged();
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public string TechnologyName
        {
            get
            {
                return this._TechnologyName;
            }
            set
            {
                this.OnTechnologyNameChanging(value);
                this._TechnologyName = value;
                this.OnTechnologyNameChanged();
                this.OnPropertyChanged("TechnologyName");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private string _TechnologyName;
        partial void OnTechnologyNameChanging(string value);
        partial void OnTechnologyNameChanged();
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public global::System.Nullable<bool> Urgent
        {
            get
            {
                return this._Urgent;
            }
            set
            {
                this.OnUrgentChanging(value);
                this._Urgent = value;
                this.OnUrgentChanged();
                this.OnPropertyChanged("Urgent");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private global::System.Nullable<bool> _Urgent;
        partial void OnUrgentChanging(global::System.Nullable<bool> value);
        partial void OnUrgentChanged();
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public string Status
        {
            get
            {
                return this._Status;
            }
            set
            {
                this.OnStatusChanging(value);
                this._Status = value;
                this.OnStatusChanged();
                this.OnPropertyChanged("Status");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private string _Status;
        partial void OnStatusChanging(string value);
        partial void OnStatusChanged();
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public event global::System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        protected virtual void OnPropertyChanged(string property)
        {
            if ((this.PropertyChanged != null))
            {
                this.PropertyChanged(this, new global::System.ComponentModel.PropertyChangedEventArgs(property));
            }
        }
    }
}!L<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="/GridDemo;component/Generic.SL.xaml" />
    </ResourceDictionary.MergedDictionaries>
</ResourceDictionary>��<?xml version="1.0" encoding="utf-8"?>
<Countries xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Country>
    <OID>0</OID>
    <Name>Poland</Name>
    <Acronym>pl</Acronym>
    <Flag>iVBORw0KGgoAAAANSUhEUgAAAC4AAAAkCAYAAAD2IghRAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAo8SURBVFhHzZaHd5RVGsYvJhEpIipVQOk1AUQRKQEiUpXeRUAEYREXWBV3/5JVzoK0AxyQcui99yYllJDAkEIyN5OeTCZt5r77Pne+O9x8TpA9nN2zOec982XK9/3uc5/7vK+4du3aVf6Tly9flpcuXdJ14cIFXefPn9d17tw5eebMGXn27Fl5+vRpfX3q1Cl9ffLkSXnixAn9evz4cX197NgxfX3kyBF59OhRefjwYXno0CH9evDgQXngwAH9un//fn29b98+fY1X1N69e+WePXsitXv3brlr1y65c+dO/bpjx45kwdCe1NRUysjIoMzMTMrKytL19OlTys7O1uX1eiknJ4eklPo6NzdXF65ReB+f47v4HX6Pe+Ge6enp9OTJE/J4PPT48WN69OiRrocPH1JKSgo9ePCA7t+/T3fv3qXk5GS6c+cO3bp1i27evEk3btyg69evEzPSlStXiMUlFo0Y3Cv4DQ8eUFBQQIWFhVRUVETFxcVUWlpKZWVl5Pf7qby8nCoqKqiyspKqqqp0VVdX66qpqdH/4zN8JxAI6O+jcI+SkhJ9P9wbz8jPzyefzxdZuFkwFgsOLNIsEIJicWZhWBwWsH37dq+4ePFiBNzA40F4IB5swAEEMBvawLvB8RssGr/HvSAGwAGdl5enoc3umV3CDmF3zM6kpaXpXcGO3Lt3L7IjbGXatm2bV7CXa4EbxQFuFDfQRnGojAoGg/oVCzDwRnEDjvu4waF4XeBGcRvcthLAt27d6hV8+KKC21Zxqw1YpZQuA2+rDptAdWMVA44dheIvC75ly5YwOLYIN0VF8/j/EzgO6ObNm72Coy4qeF1WMQcSSj/PKv8txflM0qZNm7yCs7kWOA5RXYfTeNxOFNvfdqo873C+jFUAvnHjRq/gXPTgQODE25FoUiXaAbVjMVoUmlQxUQj7mSi0U8XOfjtVkPPPS5UNGzZ4BXdArTjADXy0ZMGBM143mW6y21bajkI7UV4kw00cAhwZbsehaU6cgrR+/fowOLITSvyZ6qaxYAHuMklix2C0DLdtAsVNp62r+ZgcN+Cwyrp167yCZwwPOhXAbXhbdRONxjamKZmF4H+30ja0W233iGBsYme4u2sacE7BMDgPRRocSqAMvN3+seW257EAd2Fxdou3s9t0TLfa6Jqm1ds2idZ8MMPcvn2bOAVpzZo1XsFTnAeeMoMTbu62jK2+WYABNbDmIEZT2jQd0+rdh/JFbQJwKK7BeQT1YIXYPpStumlKRn2zAMBFK6OyPVC5oc2kaU+R0WYUe7iCTQCNqRGKr169OgyeyuB6PHXGVZ/Tlt2eB5BehDM4AVSXM/0VOrFXYA1UZhI0s0lEbbaJHn25IhMhW1anCVdkuOIBy4y6AOe+Q78A/MCJ0ykpmdnB7KJShcopLlXekjIli/0qtySg8krLlc8fUPllFSqvvEIV+CtVPirAVe688v8F/vDn+J6vNKByy/h3pX4l+V5evldOUZnKLixVTwtKVFZ+scrIL1TpuQXKk5unHuf4VGqOVKlPc9SDjGyuLHX3SaZK9qSr24886vdUrodp6kZKmjp99Xro57W/ZgjqKlJo0rtB9VUfFVrQl6ufCi3sr2hxf6UWD1Bq6aBwfZcYruVDlVoxjCtJqZVceF0xPPz+Mq5vB4dryceKlnykQos+VKGvUe+r0Hx+xtx4FZrTU6k53ZWa1VWpGZ2VmtZRqckdFE1sp0Lj2yo1rpVSY5orNfJtpUY0VSqpiVJDGylKbKDyE2JCm4XIEMG+wsM/Iprfh2jB+0Rff0C0qD/R4gFEf/mY6NtBRMuGEP11KNHyYUQrk4j+9gnXCKf4eiXXiuHhz79L5N8MJlo6kGgJ//6bj4gWfsj37Uf0VV+ieb2Jvown+qIn0azuRDO6Ek3rRDSFGSa+SzS+LdG41kRjWhCNakY04k2i4U2IhjYmGtyA8hPiaGOs8GrwEMBxU4AvZPBvGHwJwPnhgAAMoFY40N9/SvTDSKf4+ntehIHHArHQpbxgLHwxgy+KAj6HwWcz+EwGn945DD7pvTD4ZwBv+Qw86Y0weGIDyusdRxviGLymtxucHwKVoBYebtSGooAD9I8MvWp0uH4cxQvgwg5gYbbqWDh2DjuInYQw81nxuay4G3yqAz7hT8CheIwNjpsu4O3EttYFDov8wOA/MehPY4n+MY7o74DnhWjVnwOOndTgbMmo4B3Dimvwd54p/ulbRBHFG1E+K74e4NVG8f8EHCprcK5VY/6n4D4GX1ePwav61OVxl1WWG6uwsvD3KoZHaavwLjzXKpbHX9IqAP9VgycITxAH44UOJ8PDLrAFYFHwPKC1Tfhz+3DinNR1OJEqfzicTqrow2mlinU4teKvMHglwCe1D4OjEFtIATwQqWAOaCRZHOV1JDoFaBxeQNeKQz6YSCjj70gc9uI47MFx2I3jsIsrDts8i8ORb9eOwyENyNcnjtYKgLPHg5MZHIfGgOsD6opEpIuBh7IANYUkMdDLkOGcRrbatQ5mAidKFHAwTGxH9DnAWxGNZsUB/klTJ8cbEQ1pSHkJsbQGVgn0YvCJfJrRGGo1IUd1HYtOnht4QNqFBeEz3XiQ31yIQaO2u/n8IQo5USYjUQDOiTIW4M2JkCga/HXOcIC/Rrm9Y+lfUFyDI4bmshKAt72uO6iT6chkQAEOkHbhvQg0LxTNC9Cm8URikJ/xpa223Xwsf491mo+JwmEMzmrT4PqUGx9LqwFezuChCfwjtGHA17KMaf+Ad0YAswAsIlK8KLyv7WFDW9ltWn1EbeNvqA2bANz2t9Puk5x2z/6mQfXJlxDjgMcLT8143iL4DvDzosE7nof6AANgreL3NDDaOw6jE39Q2hxI3XTqUttpPLZNbH/DJjyn0KBXydcrhn6B4n5WvOZz7laIJ6jhhteDFzoq1HcWABsAUheuYQvHGvgevq+h+cBDaeykgbYjcKpLbXtGsW2SyDYZ9BrRwDjy9XiFfjbgQQ3OA48G54r4nR9qwDFrGHgswF1QuRY0RytsNw8WZKU1OD8DE+FMjsDpPBFiPtE24eeP50Opp0I+lKM4TTQ42wT+5uEKNqGBsax4PfonwMtY8erRLSk0pROFeLwMTu1MweldKMjjZnBmN6rhB9XM6kE1s3tRcHZPqp4TTzVf9KIaBqnm91D4v2pWPFXh85k9qHpGT6qa3p2qpnWjqqldqXJKl3BN7EgVEzpQ5YT2FPisHVWMbUMVo1tTYGRLCoxoQRVJzah82FsUSGxK/sFNqHxgYyof0JD8/euT/4M4CvSLofQuImyVsnhxtbiHkEVcBd2EzO8iZG5nrk5CZnNldRQys4OQ6e2FfPKekI+50toJ+bCtkCnvCHmvDVdrIZNbCXmzpZC/txDyGr9eay7k5WbhuvimkGeaCnnqDSFPNBHy2OtCHuI60FjIfY2E3NNQyN0NhPytvpDbXhVya5yQm2OF3BQjJHdJubaekByBktPEVPK/AToMtl5wFrD4AAAAAElFTkSuQmCC</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>1</OID>
    <Name>Argentina</Name>
    <Acronym>ar</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>2</OID>
    <Name>United States</Name>
    <Acronym>us</Acronym>
    <Flag>iVBORw0KGgoAAAANSUhEUgAAAC4AAAAkCAIAAAB5QJ8GAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAABC9SURBVFhHdZgJWI1p/8fvmBj7NogWZBnbJDuh7IwtTZgJg5BopSRLhCJFKFlSaOzSyxj7mrKOdyyhOvs5z74/Z++cOMf9PqfM/8//nf91fa/7eq7neq7r/t7n/vy2A7qsfdEl4XmX1U+945/5xD3xiX3sHfPIJ7rcJ6bMJ+qh96pSn5UPfCLve6+45xNx12f5HZ9lt72X3vEOv+W95KbX4hudF9+aEbpHM7htxRDPN4M93wzxfDnY8+UgzxcDvSQ98/d6NsCr3M+r7AfP+/087/b1vN3H80Zvz2u9PK/09Lzcw7Oku1exr9eFrl7nu3kBEP4cpPNgp8E9SwA7BOnZPYMFWxmwlQZbSPc0AmzGQQrmnoqCDYhL6zTum7RgrQokKhutV4IEzZjI83Dqd9YpXubJnpaJnUzjPczjOhiD2psC2xpGtzEGtDGMbKkf3lIc2kwY0lQc1JT3b8z5NWJ/+Ibp15Du04DtDXTdwAk3AMCix2CfLfj6Bzlt8jxhb3XU/gY3L71pBrut4TctFbixTZ6x9QFjBWFa+ocI0oQ1tw0vtPommeyQAg7ljP75QlDSdRjWBf7SG87rBef4wlBfGNIVBvvAmZ5weif4Y0c4pT2c1A5ObAPHt4JjW8DAZnB0ExjQGI5wh8MbwqFuNf3BUcmJy8oeS/8z9pg7pg4FNrdc24qbRr8iQ49jlsG/GZb/IXgfMYIdYuRV3r+A7X6IDzjOLimhfQ8wzTOopOtUiwxqbPINGDHAuWyYM3yIc8kg5yJ/5wI/Z1i/T2H9HPN6O+b0cszp4QjxdQT7OmZ1cczwdkzr7Jjq4Zji4ZzU3jmhnXNCG3NA6yNNmwOwoAxkm0FuLdhre4MbL7/Xg52Wub+bYa3okacHGXqcM+Q/50EKF1Yiwo9ixz10gzTaoDdk3qfBOhxsQEcXsrWOD2xNLVdTy1jttMXGWOyUuYY0WQmjRVpxgwXTm6UVFU2IYEREk04w6ESjljdoOL2W18tI5uqDUgDCSkGW8dtDtlmXLb6FJp9847QSc/ejBo88seVecfoFQ7eDfJdcdvo5sXsu45FNtcukpp1kumQT3bPx0DO0Wwo66ihht1s4k4U1mhmDSRKtN1KigRT0kghexDkB50SM5RGGQxleR7PSg5ZiNCRdtzIyBPvj1q06K7sMy29ZPpr4pjlGsMfI8Pr1dwWwVdh0T8/zPEhn3XawvCCm3KZBMrmnjEMoDmzABuQR8KN+wAF89LZn8Ngma0GqNT/VeiTFcjjFcnCDNW+9+cB6c06SZX+SaV+CKXuNac8a8+44Y2ascVesKSPKsCPKkB5pSFth3LaC3hh+LiQYgHn3QIbYJNfccK9x3mXTd7l6kCl65QlzSvQtdnONM9hfSoRWmTTYSnplk6Fn2eZpeIvt2IILdIedKFinBZvRcfElcG5nGNqtjlYvl2Z0gtM6wqnt4eQvaA1qBsc0gaMaw5GfaYWDARwE4EBg7Q3yXdhKVnbyYLcJZBowRtz+gAepfMp90XX0NOabdMZsEKN/p0AysfUuS0gvU9AWaVitRVxwGgWJGsnNhJgLMLgdnNkZTu8If2wPp7aDk1vDiS3h+JZwbDMY2ASOrtt+ZAM4DMAhddv7A+gHYL869QXWbuCgy0robZDOdcgzzrnkSi0t9vBhl8Q22SzYTnvvY6afkhIM2XIHEXaBbr0DB5tQv1x8/FEcJGvbbdMuPk+4JatGHURqzAZG1FOCSPICxYkEL+AsjzMCxnIYw6I0hzAsQjE6ktZRtJakNAQpSY0TSoxU4USVWvv7jZt1VrYyWU/0VSgP0rhWezibSZx5mgEbqBMv+MdyFmzE2+0ias1icBEOEnTFL9l77ygQrwo7hdcY+JablAEHNFaLnuJFSSQnEC4TnCSMZiWhFIOQNELROoLS4qRWMoERahRXY4QKwVQorkSwSrXm8tWrAMy+AbZSDTIF9wxuwSXRO4cBW2jvvfSiEq5xGvHtdnzJRcYjAwNJiE8W+us5svEmTbPNmuUXiI5b1SBeDhLkgekvPt06YbhapP/jhP7KcfH3Y+LlQvFSoVCSL1w8IhQf5i8c4s8f4s4d5M7mcWfy2NM57Mn9zG/7mKK9zIls+ng2ciTjfHwcALOuSVcg/R5gO1uNi5tu0WA9mXSDq0Y5sAlz24yRrBBRjIPV2uRrlBxlQaKq2SY1zwtzj2tAjAysVoxfdQ6GdoIhXWCwt4uYmf/ErJRhXcw2giO/gcMbwKHAxezAz9DU9AIFLlYkKyn44AI+76nwXRbVJoPa/1gMKiRBMhpwhMx9xDbbirRN0+WWsUGHELBGNfEIkltKNUyS981Q5ZfTvumqsStOw5AOdT46ucidXk+uFDutvyJ3lERuQzjc7bOPenIl9Qc1PeqxnX5FOv3kk+zt9yzYQoAN+MXXbMhJHKxD554mLv1FgSQtWK269IqZc1wL4pRLzqCnnxEgtrrjZvlTGe2RUhWQUWGrfM6+fk6/esa8ekq9fEL/9Zj89yPqxSPiz3Ly+SP8WRnx/CH2tBR98gB9ch97fA95dBctv6sru4OU39GV3ZbfvXpuf069FQSkEiCFKPiTT73FgCQ08ChRJuM77dCB9dqSV3yUdEExiqCDuofVXKdUhfta2a237MITGhDxFqx6O2qvzGj4L06lYKnnFHdxWo9qHaeYUocqtIhCh8o1umq1VqZFKmSKi5cvAzD1krSfdEeNthHRl8mfT2Hum1HfLDSnlABr1e4bNOuv4NPyNY2SlT13qg48QEF0pXti9ZYrugn7ZU0TK8GKitE7Xtoqyum/HjH/LqdelNF/PiSfl1LPSomnD8gn9/En94jHd7FHd/Dy22jZLezhTaT0Bvrguu7+NeTeVe39P3T3rslv/Ovs7qw6K+s0UjXRUfr2O9AmW5FKTL/0PAbi1MsuEDJMaLZR2XyjsgoTl53WgYj3SZew12rum/h3A3bJWV4cuFMWtLQIhnaEs73hLKkr8HDh4sqzbf9mpTkMbApHf1vH7BesSMwO+F9WCl2sBF0E8couWdgvZzCQKGGhCSlCe2dK0aHsm6UJPaYFq2RgZVVooaZvuhwsf+efIQ8+LAdL3jSOf/trocIttmLkwhNfR5DHP2R9VwTVu/nnCDosOUnJu1nwiCx8zuc/YQufMsee0IfLqfxysuAxdbiMOFiK55dhR0vRvHvIwfvI4Qe6vLva3NuaQ3fUebfVOTdVuTfVF2++NF4r4q+e5K78xv1exF0uYi8dY/9VyJQUMBePMsX59IV8+vwR6txh6mwedSaPPHOAPJlL/JZDFO0nTuzDi/aqjmQVxcSC8ocPTHrBbjVLydtq0lvNeotRNBsEs1E06XmjyBkE1iByep4ROVrkGYGleIbkWYqjCZbCWZogKQIhKSml6giyHtWvOEX+5lSLSJxKkqm1VSpNtVpTpVS/V6gqVepXlVVniovBvQelrCAYzGa9waQ3GEW9kdcbBFHkBL30nuN5huNolmdYjmJYkmZIiiFIGqconCAxnMQIAsVxBCMQHNOhqA5BtCiq0SEarU6t0am1WqVGo1KrFWq1XKVSKJUyhUquUFTL5VUy11pZLauSyV5VvD199iyA3QGc3xtGDIIrBsOVQ2HUCBgbAFePgasDYfwoGDMSRg2HkUNdHyzzh+F+cPEP8Nc+cMH3MKwn/Lk7nNsNhnaBIXXMunqD9i5NaQsn1ee3v5kN+C9KJGZ/cOU3qTLbfIELW8f3AC4ZAKNGwpgAGDMGxgXBNeNg4niYOAEmjIOrx8LYQBg9GkYHwJUj4IphcPkguNQfLvGDi/rDhX1dx/ilF5zXw9Vgf+5XOsMZnf+BXKlh+H/6lZr6fkUVP89yKtNWvL+mOMdanGu9mGstOVBTcsByUVKuuTjHfGG/+dw+09ls05k9plO7zSczjb/tMhbtNB3fYTiWbijcbjy6TZ+fqj+yxXBos3hwk5i3UczdoM9JFvavE/YlidmJ/J4EfvcaPite2BXHZcRyO6P59Cg2bRW7PZLbtoJNjUDXLymYNgPcLC0jRQNvsvImC2cwsXojqzcxooEWvqr79aXfVfel/vRz3WckSKUWRItTaozU4JQKI5RSSsUIhYQqist1qJRJpbVag1SpddUaXaVa+16lqVRp3inVbxUqSRVypbS+ePu+SGLl+qNnuNHC2z6wFjtjttEmK2OyUlKnrjdRBjMhmnDBiIsmTDCgvB7lDQinl6RjRS0jaFlBQ/NqilPTvIpklQSjJFk5QSukzhmnqzFKhlNVGFmJElUo8R7B3+mw9zr8rRZ9p8UqNMhrte6NBnmjRv6sVhy/UAxqh7o7owKda6c6k6Y4k6c5189wbgx2bg5xKSXYuWGW62XSNGfilE8JkxyrJzjixjlighxRox2rApyRI5wRw5zL6safJf7OX/2cC/o7w/o6w/p8mve9Y05PR0h3R0hXxywfxwwf5wxP54+dnFM61o0/bZ3j2zrHtnIGtvgU2Nw0tNnxJo2AszeA4f4uKmNGwbgxML4O27UTXUqY4MI2LhDG1mG7agSMHAYjBsNlA2H4gLpQ6gcX9IFh38Ofe8K53eFP3eBsn78rwBdz4YTWcFxLOO6LaBrxDRzWwNWy1HXaNX3qsCVC/W2ZkbU5qyXZc9fYDyTY8xLth5Ik2fISXcpZ7dLe2JpsSVE1WStrsiJrMpZbJaWHW7cvtm5bbE1daNky35Iy37LpZ8uGuZb1c8zrfjInhZgTg80Js8xrZpjip5vifjTFTDVFTzatmmheOcEYMc4YMda4NNC8dAw1P+Bwv/7gemkZJugZo4WW4BANlGiU5ihpgpJGKYwVpAnqy1FKmqB0FCuNUmpCapVpFU5JfbISpxQoocBIOYLLdJgMwau1WJUGrdKilRqkUou8V+veqbTv1Nq3Sk2FQl2h1LxRqF7Lla/lqpcyxSu56lnF+8JTp8HVBw8lHmmjmRSlkc5ICAacl3zoMU5AWcmH8D8jneRD6/LBqAnJCvOFD7LOByHT4S4fOkwyUaVz+ZBMvNcgdT50b1WaN0qXj9cKtbT9a7n6pUz5SqZ6KVc+qXh3VLLCB/expy2q3b3Spb1Rtfuia/fH2HPi7LlxdulhX7Q9e5V9d6Qta4Vt13JbxlLbjnBb+mLb9l9rUhfUpM6vSfmlZuNcSdbkn6zJs61rJc20rples2a6JW6qJXaKJXqSJWq8JXK8NTLIvHyMdB3mpQHmxZKGWxYONS0Yapk/mA31L+rdAzik1Lt0EIyV8mygC1JXnp0E101xKWkyTJgIV0s5N8j1QfQouCqgjtwhcNkgF+yL/b4mtwcM7Qp/6vqZ3P8zI05oBce1gPUzYv0/GsMawmFu0pBm6weOS9jWDgDORQM+RY74tGrkp6jRzujRzrggZ+w4Z/xYR1yQIzrQET3KsXKUc+WIjxHDPi4b5ggf7Agf+HHRgI8L/T6G9XeE9f0wr/fHOT0//tTz42zfD7O7fpjp/WG694dpnWunetRO9vgwsb19fLvacW3tQa3tY1rWjmphD2hmH/Gtbdi3tiHuNYMa2gc24PuAggYA2PyAtT+w9AWmPsD4PdD3AmIvwPcETHfA+AKyGyB9AdYNIF2BrgvQ+AC1N1D6ALkXkHmCys6gshN42xm86QRee4C/OoK/OoA/JbUHT74D5W1BaRtwvxW40xLcaAmuNgNXmoJLTUFxY3CuETjdCJxsCE40dBXCo26g0A38B68H7Mm7ya61AAAAAElFTkSuQmCC</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>3</OID>
    <Name>Spain</Name>
    <Acronym>es</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>4</OID>
    <Name>Malta</Name>
    <Acronym>mt</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>5</OID>
    <Name>Lebanon</Name>
    <Acronym>lb</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>6</OID>
    <Name>Saudi Arabia</Name>
    <Acronym>sa</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>7</OID>
    <Name>United Kingdom</Name>
    <Acronym>gb</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>8</OID>
    <Name>Greece</Name>
    <Acronym>gr</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>9</OID>
    <Name>Israel</Name>
    <Acronym>il</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>10</OID>
    <Name>Japan</Name>
    <Acronym>jp</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>11</OID>
    <Name>New Zealand</Name>
    <Acronym>nz</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>12</OID>
    <Name>Belgium</Name>
    <Acronym>be</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>13</OID>
    <Name>Puerto Rico</Name>
    <Acronym>pr</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>14</OID>
    <Name>Russia</Name>
    <Acronym>ru</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>15</OID>
    <Name>Sweden</Name>
    <Acronym>se</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>16</OID>
    <Name>Canada</Name>
    <Acronym>ca</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>17</OID>
    <Name>Ireland</Name>
    <Acronym>ie</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>18</OID>
    <Name>Taiwan</Name>
    <Acronym>tw</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>19</OID>
    <Name>Netherlands</Name>
    <Acronym>nl</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>20</OID>
    <Name>Moldova</Name>
    <Acronym>md</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>21</OID>
    <Name>France</Name>
    <Acronym>fr</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>22</OID>
    <Name>Italy</Name>
    <Acronym>it</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>23</OID>
    <Name>Romania</Name>
    <Acronym>ro</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>24</OID>
    <Name>Slovakia</Name>
    <Acronym>sk</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>25</OID>
    <Name>South Africa</Name>
    <Acronym>za</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>26</OID>
    <Name>Germany</Name>
    <Acronym>de</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>27</OID>
    <Name>Bahrain</Name>
    <Acronym>bh</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>28</OID>
    <Name>Austria</Name>
    <Acronym>at</Acronym>
    <Flag>iVBORw0KGgoAAAANSUhEUgAAAC4AAAAkCAYAAAD2IghRAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAoaSURBVFhHzZl5eJTVFcYvIPsiENkDBEjIRggpVXbZ1wIBAlGWQK2iiIiIVlofH2tr0YpbH2upTcK+CrKKW6kNoVYkrexrIJeQfc/NzGQySSZ9e86XucOXyUyksU/bP84zMJm587vne8/5vvdc4YwSF5xDhKqKFMoxWKiKCKHKKayDhLKEC6XChCoJFaooRKgCirxgoXIHCpUdJFRmoFAZA4RKp5D9hUoLECq1r1DX+gh1tbdQl/2FukhxoZdQ53oKdaaHUN92Fyqlm1DfdBXq6y5CfXWfUMl+QiV1FurLTkIdv1eozzoI9Ul7oT5uK9SRNkIdbC3UR62E2tdSqD0thNrZXKQKApc1k/xQM6s3nLP7oDo6ANVz+qFqbn9UzgtEZUwQHDED4ZgfjIoFobAvCIM9NgzlseGwcSwIh3V+GCwxobDMC0HZnGCURQdBzQpE6cwBKJ3RHyXTA1A8tS+Kp/RB0SR/FE7shcLxPVEwtjvyx3RD3qguyB3hh5xhnZF9f0dkD+2ArKh2yIxsi4yI1rgd3hLpoc1xK7gZzvk3wc57RK6gbMua6L7A0sHAj4cAP/kB8Nj9wOPDgBUjgJWjgFVjgNVjgTXjgWcnAs9NAp6fXBvPUayl99ZMAJ4ZBzz9IPDUaODJkcATw4HltNajQ4FHooBlkUBcBLA4HFgYCjw0EFgQCMT0B+YQw2x/4Ec9gGndgCn3ARM7AeM6AA+2BUa1Boa3QE5oU+xg8GoNvozAeXH+Ef6xJzzBCYrh1jL0FOCnU4EXptEr/ZvheUNewR+gNX9Ia1NC6oEHE3iQB3hPL+DtasFH1IJvZ/CqhsCfpIw/RRnnLDLUswTO2WZYhl43vXYDbnC6Inxl6mTcBc5XksGXmjL+cCPBm90NuFsqHhl/QWfcA7yeVDzAzVJpJPg2Bq+MbKzGKessme+lcc743Wi8rlS2NnWBO2d7Fidp8nHK1AoqLi4yvvRaLrpAuSB1sIRYSiwTLmS+SlzYXOBeizOMijPkTnHO61dbnLN0cXYFJvt5FGcrozizQ5piM4M7KOPcBo1qZw02VKAMv5oAnyEt8wZ0mKHN+ubNP0ZJYH1zx+LOtWQQsMgLeDQxzOoFzOCu4gKf0LG2q4zhrsLgzb2B04LcWdwt0ZV1bmmcda11A54yaw5+jzPN0Cvps76yzYW5hFrhImqFrO9Y6ijzBwBzA4Do3sBMBu8OTO1Sm3EGH9uewNsAI++Ab2pCGbdHUMbp5mNkwujlHlnny22GZ7hVHASqwwAmefAGGZpb6XIv2Y6j31jskW3u4XO5hzM4tcLp3MMJfFJnYPy9teCjGbwlMOweZAc3QaIbfCZpi28KvLD5RqR7Ol9yhmcoI/uuK8CwGphbJ9eEoWsN7XHjcWeb9B3ruvkY+maZmPStbz7j+eZDhTm6toczeBaBJwjKeNqGn2UUJqyHbfNrKE/8Feybfg37lvWo2Po6HNt+A8eON1C5cwMqd72Fqt1vo2rPO654l145av9fSX9z0GccO99ExfYNsNN37bRGOa1rozWtCa/CGv9LWD54BWV/eBnq9y9B/e5FlL73c5S8uw7Fbz+PojfXovCNNSh4fTXy169C3qsrkfvKCuS8vBzZLz2KLHo9v245EuPiisXfT32dkZ6ejsLCQhQVFaGkpASlpaUoKyuDxWKBzWZDeXk57HY7HA4HKisrUVVVZUR1dbXxyu/x3yoqKozP8nesVquxhlLKWLO4uNj4jYKCAuTn5yM3Nxc5OTnIyspCRkYGbt++jVu3biEtLQ03btzA9evXcfXqVVy+fBkXL17EhQsXcO7cOSQnJ2NTfHyRSElJkRqcF/cFzlAMp4GdTic4zPD8Gd6gBueNMzgngtfmxHgDz8zMbBD80qVLdcATExNzvYLzj3G2OGsMwTCe4DU1NeDQ8Drr/FnOOn/3fw7OIN4yrsHNcvmvgZ8+fdotlYY0rsG1xlkiOhhca7wxUvl3NZ6QkJArGJyLwrM4WS58qfmS6+L0hNeZ9pQJy4u/66s48/Ly6hUn11lDxXn+/HmjOE+cOIE64Fw0nHEuIi4mT517wnOGdfCGvBUmg/NaXPC8tu4qGjw7O9vdVRhcSombN28iNTW1Xldh8LNnzxrg8fHxueLUqVNGxhmcF/bWWXSRanhdrGZgcxs0Z9tbR2FwboUMrjuKJ/i1a9dw5coVdzv0Cs475d6q5aLhdda1ZFgCuq8zqDnMLVBLRGe7oR7urRVyxjW4boX1wL/521cZ3PQZXGfdXKSe8Dr7ehMaWLc/b9Dm/u1LJt70zRk39/AzZ84gKSkJ8Rs3Fon0X6zIKNj9Pko/2wP1xV6U/Wkfyo7vh+XPB2D9y0FYkw7BduIwbMlHUH7yKMXHKP/rsbpx8hhs9L4t+SisJ47AknQYli8PoozWUMc/QukX+1Dy+Yco/nQvij7ZjaJju1B4dAfyD29H3qGtyD2wGTn7E5H1YTwy93yAjF0bkb7jfdza9h7klt/i5qZ3cCPhLaT+cQNOv/YiNsdEFxnjiX/Wc/naSJhc/tP0KKt9Jxtm9p7sfviVjTI/m2sjwT6VH7qMp0RfLt9kJGK8GAkfLj+XzLIxnnC7fH4qfITHE/RE19B4gl0PjyXYJHMY9o3hfY0ntMv3Np5onHX77vGEL5fPsL5cPl+Z/wuXbx5P8FzFGAY1BO45EPrPjydqXX69SdZdSIW1zbMVDt4Ea75BqfiaZDVOKlv1eMLpszjJ0bDbqePyeZrlGsNx9jW0uTgNV/Q9i3Oy9xFcNhWnMZ5wu3w2suw32ZHzyIztl/aaLBc9P+TOYowoaAMcLB8NrYdBhmFmG3eXvtNt3zxc/sS7cvke4wl3ZzHNVhheu3zegDGWcM1T3NCumYq7FXobT3i4/Hns8sl3enP549jl03jiu12+a2JrZN00/DQGQ5x5l8NnUGMsYR5NaImYs+1D33o8Ybh8Ane7fNd4gl3+BE+XT3OVui6fRgOGyzdl3Rg3a8nw5FbPV1wOn3WvxxJ1RhMa2nTjYQk2NAyqM8UyjZh5POF2+XfGEwk8nqDTB1k1tTtq5gfCuWAgnLHBcD4cCufCMDgXhaN6cQSqlwxGdVwkqpcOQZURUahaFoVKDvq3EXFDULkkEo7Fg+FYFAHHwkGoeCgcFbGhqJgfggo6HLDPDYI9egDss/uhfGYAymf0Qfk0f9im9IBtUjfYxneBdawfrGM6wTqyAyzD28HyQBtYhrZEWVRzlEU2Q2o/UTuesA0WJ22DhKRjE0nHJrKEoihUyMIQIfODhcwLEpKOTWRWoJB0bCJv9xdS9hMyjeJGgJB0dCLp2EReprjkLyQdm8jzPYU8Q/FtDyH/0V3IlK5C0rGJpGMTedJPSDo2kXRsIo93FPLzDkJ+2l7IY+2EPNpWyENthDzQWsj9rYTc20LI3c2FpFu8pN4ttzQVkoZBMl6IlH8BQzcypQP7aksAAAAASUVORK5CYII=</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>29</OID>
    <Name>Switzerland</Name>
    <Acronym>ch</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>30</OID>
    <Name>Portugal</Name>
    <Acronym>pt</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>31</OID>
    <Name>Nigeria</Name>
    <Acronym>ng</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>32</OID>
    <Name>Costa Rica</Name>
    <Acronym>cr</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>33</OID>
    <Name>India</Name>
    <Acronym>in</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>34</OID>
    <Name>Czech Republic</Name>
    <Acronym>cz</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>35</OID>
    <Name>Hungary</Name>
    <Acronym>hu</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>36</OID>
    <Name>Australia</Name>
    <Acronym>au</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>37</OID>
    <Name>Finland</Name>
    <Acronym>fi</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>38</OID>
    <Name>Mexico</Name>
    <Acronym>mx</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>39</OID>
    <Name>Denmark</Name>
    <Acronym>dk</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
  <Country>
    <OID>40</OID>
    <Name>Singapore</Name>
    <Acronym>sg</Acronym>
    <Flag>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</Flag>
    <OptimisticLockField>0</OptimisticLockField>
  </Country>
</Countries>F	<XtraSerializer version="1.0" application="GridControl">
  <property name="#LayoutVersion" isnull="true" />
  <property name="$GridControl" iskey="true" value="grid">
    <property name="TotalSummary" iskey="true" value="0" />
    <property name="GroupSummary" iskey="true" value="0" />
    <property name="GroupCount">0</property>
    <property name="Columns" iskey="true" value="3">
      <property name="Item1" isnull="true" iskey="true">
        <property name="VisibleIndex">0</property>
        <property name="FieldName">CompanyName</property>
        <property name="Name">colCompanyName</property>
        <property name="Width">230</property>
        <property name="ActualWidth">219.44</property>
      </property>
      <property name="Item2" isnull="true" iskey="true">
        <property name="VisibleIndex">1</property>
        <property name="FieldName">ContactName</property>
        <property name="Name">colContactName</property>
        <property name="Width">150</property>
        <property name="ActualWidth">138.05378731172976</property>
      </property>
      <property name="Item3" isnull="true" iskey="true">
        <property name="VisibleIndex">2</property>
        <property name="FieldName">Address</property>
        <property name="Name">colAddress</property>
        <property name="Width">260</property>
        <property name="ActualWidth">236.50621268827024</property>
      </property>
    </property>
    <property name="View" isnull="true" iskey="true">
      <property name="AutoWidth">true</property>
      <property name="ShowGroupPanel">false</property>
      <property name="NavigationStyle">Row</property>
      <property name="AllowGrouping">false</property>
      <property name="AllowEditing">false</property>
      <property name="ColumnChooserState" isnull="true" iskey="true">
        <property name="Size">220,250</property>
        <property name="Location">411,259</property>
      </property>
    </property>
    <property name="SortInfo" iskey="true" value="1">
      <property name="Item1" isnull="true" iskey="true">
        <property name="SortOrder">Ascending</property>
        <property name="FieldName">CompanyName</property>
      </property>
    </property>
    <property name="GroupSummarySortInfo" iskey="true" value="0" />
  </property>
</XtraSerializer><<XtraSerializer version="1.0" application="GridControl">
  <property name="#LayoutVersion" isnull="true" />
  <property name="$GridControl" iskey="true" value="grid">
    <property name="AutoExpandAllGroups">true</property>
    <property name="TotalSummary" iskey="true" value="1">
      <property name="Item1" isnull="true" iskey="true">
        <property name="SummaryType">Count</property>
        <property name="FieldName">CompanyName</property>
        <property name="Alignment">Right</property>
      </property>
    </property>
    <property name="GroupSummary" iskey="true" value="1">
      <property name="Item1" isnull="true" iskey="true">
        <property name="SummaryType">Count</property>
        <property name="Alignment">Default</property>
      </property>
    </property>
    <property name="GroupCount">1</property>
    <property name="Columns" iskey="true" value="11">
      <property name="Item1" isnull="true" iskey="true">
        <property name="VisibleIndex">0</property>
        <property name="Fixed">Left</property>
        <property name="FieldName">CompanyName</property>
        <property name="Name">colCompanyName</property>
        <property name="ActualWidth">173</property>
      </property>
      <property name="Item2" isnull="true" iskey="true">
        <property name="VisibleIndex">1</property>
        <property name="FieldName">Phone</property>
        <property name="Name">colPhone</property>
      </property>
      <property name="Item3" isnull="true" iskey="true">
        <property name="VisibleIndex">2</property>
        <property name="FieldName">ContactName</property>
        <property name="Name">colContactName</property>
        <property name="ActualWidth">126</property>
      </property>
      <property name="Item4" isnull="true" iskey="true">
        <property name="VisibleIndex">3</property>
        <property name="FieldName">ContactTitle</property>
        <property name="Name">colContactTitle</property>
        <property name="ActualWidth">144</property>
      </property>
      <property name="Item5" isnull="true" iskey="true">
        <property name="Visible">false</property>
        <property name="VisibleIndex">4</property>
        <property name="FieldName">Region</property>
        <property name="Name">colRegion</property>
      </property>
      <property name="Item6" isnull="true" iskey="true">
        <property name="FieldName">Country</property>
        <property name="Name">colCountry</property>
      </property>
      <property name="Item7" isnull="true" iskey="true">
        <property name="VisibleIndex">4</property>
        <property name="FieldName">City</property>
        <property name="Name">colCity</property>
      </property>
      <property name="Item8" isnull="true" iskey="true">
        <property name="VisibleIndex">5</property>
        <property name="FieldName">Address</property>
        <property name="Name">colAddress</property>
        <property name="ActualWidth">159</property>
      </property>
      <property name="Item9" isnull="true" iskey="true">
        <property name="Visible">false</property>
        <property name="VisibleIndex">6</property>
        <property name="FieldName">PostalCode</property>
        <property name="Name">colPostalCode</property>
      </property>
      <property name="Item10" isnull="true" iskey="true">
        <property name="VisibleIndex">6</property>
        <property name="FieldName">Fax</property>
        <property name="Name">colFax</property>
      </property>
      <property name="Item11" isnull="true" iskey="true">
        <property name="Visible">false</property>
        <property name="VisibleIndex">7</property>
        <property name="FieldName">CustomerID</property>
        <property name="Name">colCustomerID</property>
      </property>
    </property>
    <property name="View" isnull="true" iskey="true">
      <property name="ShowFixedTotalSummary">true</property>
      <property name="ShowAutoFilterRow">true</property>
      <property name="ColumnChooserState" isnull="true" iskey="true">
        <property name="Size">220,250</property>
        <property name="Location">411,259</property>
      </property>
    </property>
    <property name="SortInfo" iskey="true" value="1">
      <property name="Item1" isnull="true" iskey="true">
        <property name="SortOrder">Ascending</property>
        <property name="FieldName">Country</property>
      </property>
    </property>
    <property name="GroupSummarySortInfo" iskey="true" value="0" />
  </property>
</XtraSerializer>��PNG


IHDR�aNIDATx^u��O�`�Lf�x�@�M��"��b�1A$��
�j�Ń11�*j8�p��cΩS��VF’�⌈8����F<�߶C���>y������2e�yY��0�)�%��l�PP���,����i_��xj%y�,%��Ĕ`�7?�pl���"����U�lF:ҍ���j����{����ژ�P`�Zj�R�5t���c@rP<�]�
⏯��=�9ű���1c���q�����>^�n�+�Xs�<Uɳ����P.��P�@�H=!H�<���;!�k�x�[d;zASµS����m@�����y`��v�\%bc;$�� ��E�`�4	�b'ѕ��/�H��m�1��H`���<cb�����@��� v
J�
�-z��9��'j��^(�#�.<�lp��2���cH�D�����{)�!⽉w��x��c��풡.�^����Z��|�M�����:��xq1��Ww#6��L�1{�J�6�goǂӊ�Ks�E�	��;�=W�(�1<�����HO�YW�g*����zb�#���J���i� e⿳H��3y�.IEND�B`��PNG


IHDR�a�IDATx^œMkA��{z�쮳���?��C$n�'�E����A��e��M�ל%9F<y�H$~�$��`6�1��=]�e�0�C$��6<tS]o5��^� ��@�s�?��xY#v�_:;lўG��x
�=b�eZ��?k��r�{��4��W�O&�ލ�O+�Ƙ+a��t[��
(C���y�,�!��O}|�s>n!��ىgC�l[�j+<�Z�
��.��C�%Wt����7�'�"��)�%�Zkj
��
as��@��MXX����MG�MR2�?��ri��q`֒��Rf���S߮���w��],P{B��HD0,�'F����}_���.	/wX^T>�;��HY����/C��
D��[gn2������k}�zJ�e�c.��a�_��`"��'<�7!�1h�@�ແ�x�N�Ws��ˋQKl�!{�Rn�\�?<6�����!�m�(*$J�����ٚ5�lIEND�B`�w�PNG


IHDR�a>IDATx^���KSa�o����
%�埈�gc?Կ�����	6�42Mi�;R7�2zaS3_rӫ�܌�\����lYfL
v��g#����_��s�s81�J�_G�t��%y��[��hP��f�mN϶�6����ǿ
GV������$|�l��PS�~W��V�c�_��>�<�1�⩴��3qWA��#�%���l^��9\��@M��;n��v����7@���7�{�]ny���{YH]@g���.o�OX`�l����deA-��&�o�IS��IFѮ�İd1�L�&�Y��c����T����e�:�S���
����ӂ|5A�D�eՊ�\���|��N"/C*VNr;ƚӂC��-�gR�F�HE��q5?�/�	�HFob�A�E�5��]�^�C��A�N��$.�]��JqϨ�(��&�ܭ�+^:�c#r�F��O�|��o�f��N��XSͦU݃��܁�J�2�(D�ɏ]H&��l�B�>��	<w�}�N���W��ZJ4F�E^��~u����~��LN���P&Ge��:"�8J#
�}[���
|F~�q��IEND�B`���PNG


IHDR�aSIDATx^}��J�@E�}��"+�#�	ŝ�B

EAp�(T\ApQ\�݈���5-��8��a&�ӗ��;g �(�57[�SzUZ�o�Fv�%eY���Nvc,p�����H	�-�T"S.�[H:V�5[j �yX��ŀ�n�#fަ U���s� ,�S��i��j@�8�̺AM�
��@pY5Ĕa�I�r���	�p�� �����B��T3�@�
8T��V�?��E���x�<���`��9��D���z��

��ϥG
j�I�Bi�F�-�e
�k�7�Nߵ�&��w2��]=�f�g{zf"�ta��^j�o�y��d�IEND�B`�g�PNG


IHDR�a.IDATx^��=�Q���&j�v6��`$��ꦰ3�)�q!��6)����X	�(v��dR,!Q� K@d��f67�{��ܹ8�R��;\��pϤE�3i[�#X�Ui����,e��9C:��bOX|m3�_=��`qօ��"EwIab�l��״�
64M&9x�dj�q]�:�䉬�a,L�D�MTԳ:Q��L��t��k$fQ�%�;��d�h�Fx���`^S3Dm���+
5�n�.p�t��.�T΢z�~'�m0�K��v��2�a��a)�������vc��/D����V3l?y��Y8�û�L��x����Hg��;.¥D��c�5��!��bg4ƃg}�����<(�,q?���YGkN�����>��T(&���6KgN�Xtn_Yƽ�g�3\���A%�Kk^�)XUA���_����CB2����1���ׅ%�������G�����
]�������	�_MSL-fp�p��1ܳ��ie��
�;.�4Y�
��)+P�X����x���/Oo`n|��?��ay:�fIEND�B`�BSJBv4.0.30319l��#~���#Strings��o#US�/#GUID�/DF#BlobW��+	�%3��<��:�Z�
lQd�
#
��
'M7�w
����
��F!dPsP������!SDaDqD
�"������7�H�&uX��"��
�
��
��
��"
��
&b8w�"����*��.��2(Y;`;j;
t
~
��86�:R(:`(:p(w�"�����������9���

�
��
�
 ��!��!��"P�#��$P�$�4%��%�>�&{&�&{&�&P'PQ'�'D"N)�"*�
f,
�,
�,�0�*�3�*�3�*4�*74�V4�"�6�
t8�
�8�9�9)<!�<p<�=a=
�?
�?�CnC�C�
�C�`�C:%D(
EDB�D�Y�C�D�C
G�9QG4GrHUH�Ip<"L�K�P!�P!
�Q��Q�*QR�wSw
%UU
CUU
<W.X�!�VY�jYw�Yw�YP�Yw Z�CZP*�Z�2C[
�[�\�\�,;�_�_
Ad!d
�e"{hkh:
k(:k(:8k(:|k(
�k:l(vn��n�"�n�"3o�u�"{ukh�uw�uw
vw;vw"�vkh*�v�ww
Rw�aw�"�w��x�x#y�*�y�*z�"�zkh�z�z�{�z�{�z�{�z*"}�B~�*�~��"6�"�"V�"�q���������
c�����r�P���k��I��\���\����Ȉ������w`��*ً�8�����U�;*��ӏ�F\����m�����H�P8�,�;N����E��J
���
��ř�5���.c��.���
��ݛ
���
C�1�
Z�1�
w�1�
��1�
��1�
ʠ1�
�1�
��1���
*�ݛ
>�1�
W�1�
��t����
��!d
ʡ!d
�
�!d
�"��
I�V�����
���
��
Т
�t��
 �D��W�!q�!��!*���
��*���
ϣ
�1�-��V�9�
��
�*���ڤw"���
�w%�
Z�
i�t�!�������P�P*b�����
��
��>3�{&>H�{&f����>��{&>��{&>ŧ{&��
b����_����"��"?��"^��"|��"�������,;*��
�w�P*?��
g�
q�ݛ
��ݛ"����Ϫ���
	�
�H�p<j�a=��������a=
�a=(�a=O�a=^�a=s��
��N�%�:f�(R�kR�C�:��(
��R��
��ۭ������*��*Q�=���8Ʈ8�� ��[����P&��X��!ݰw*���I�*h����
�#��.h��.������V��޲*��E�P��n�
��
�1�2C�'�2V�'�
���Z���w`;��;
���
��"�"
��62�(NQ'Re��R�:��(Z����Z����Zֺ��^,��:<�(b}�`�bӻ`�f
��f#��f���:5��
e�1�*|����7��9��P?�`��xz�"�����!*ͽ�j���n:���H��Zg���Zw���.����Z�ž.��"򾣾.���.��-��E��\Z��\���\���_���_���*��&�wr����r����r����r����
[�!d
j���7µ\Hµ\Y�w"��kh
��
8�
fê*����ûz*ĻzEĻzdĻz*���*�����*I������w%�w*W��
��������x���*��|��*����Ȼzɻz�P��
�!-��U�Ph����P��P*�����*����Pt̵\�F
��
�̵\a�wy�
��
��P�͵\��#��*[���ε\*��"l��K��P+j���P�P �P*S��р3�8FрLр*d��*���9��x�Pw��vv�_�v�_���>��'����;�,�Cj�C�,�C"w�Y�.�ׁ�.���V�޲zF�2�VU�2�/?X	)aX,�X	0�X	3�X	6�X9X	<'X	?FX	BsX	E�X	H�X	K�X	N�X	Q�X	VX	Y+X	^LX	acX	d~X	i�Xl�Xp�X!q�X%w�X)x�X	�X5�
X	� Xt �8X= �LX!�hyt!��X	!��X
!��XE!��I#��M#��X	#�X	#�$X	&�8X	&�MX	&�eXQ)�wX	,��X	,��X	1��X%4��X	5��X	5��X	6�X	;
XYA,X]F$XXYH&nXaO7�XeP=�XiRB�XSD�X	SE�X	SH�XuUM	�XyZWX	\]X�a{0X	d�<Xl�LXel�]Q}�oQ��z����	���XY���XY���X]���X����X��X���	+Xy��1X	��QX���iX	���{XY��XP��XP�
�XP��XP�Xe�X�2X	�FXY�hXY�-�XY�D�X�G���P�X	�T�X�Y	X��[	X	�\"	XY�c�;	X	�uL	X��xa	X��zz	X�|�	X	�}�	X	���	X]����	X	����	X���
X���(
X���M
X���f
X����
X����
X	���
XY���
XY���
X����
Xt��
Xt��Xt��1X|��CN���dN	��qX	��X"��Xe��X	��X
	�X��X�X&#X&GX�[X	(�fX	/zX	0�X3�X	'K�X�0_�X	1a�X	3i
X	6q

X�>�
XQ>� $
X	D�0
X	O��5
X	Q�J
U
�S�[
e
�S��o
S��
�S�de
�S���
X	\��
	\��
u^��
X]a�X!a�Xb�1X�gCX	h$HX	p6QX�r:ZX�vG`X�wLkX�xQX	zW�X.}^�X	~a��X	�f����g�Xt�jXt�l
Xt�n$Xt�x1Xt�z@Xt��OXt��]Xt��iXt���Xt���Xt���Xt���Xt���Xt���Xt���Xt���Xt���Xt��Xt�Xt�Xt�!Xt�)Xt&�8Xt4JXt9WXt@`y�J!kXtQ,xXtX6�Xt];��kS��kW�Xtk[�Xtt`�Xtyb�X|�d�X|�l�Xt�tXt�{Xt��!Xt��+Xt��8Xt��EXt��TXt��_Xt��rXt�~Xt��Xt��Xt��X�-��X�-�(�	-���	/�(�	1�b�	3�u�	4��	6�)�y7�(�	7�(�	8���	:���	;�6�s6s64s6js�x�xJ�Q�V�y��������=Zv�$ A1 Jn �� �6&!s68!s6�!s "t!`"�6=$s�%��%�&�U'&��'A-(�8(�&�}(x&��(U�(�V��(ZV��(Z0*�K*�e*�~*��*�a+�+��+�6�+sm,�g-��-��-��-��-�p.��.��-��-��.��.�n/x�/��/�=0x`0x!�0!
1,1/�1/�1��/�I2/{2��2�!�3C�4��4��4{35�J5�y5��5~�5��5��5�h6�}6�Q��6��6��6��6��6�6w9s6�9s6�9sf:�j:�o:�{:��:�&��:�;PQ�J;[Q�`;[Q�v;�Q��;�!�;z6�;s6�;s6�;s6�;s6<sf<��<��<��<��<��<��=��(�V�]?V�m?V�w?�(�V��8V��8V�~?@87@P@��@�A�xA��A�#B�qB��BP�C[RDzOE�yE��E����٬�6Fs6%Fs�4��F��F��FhGD�G{�G�}(xH��Hn6GIs�G�UIpI�UI�I��I[�I��I��I��I�L�(L�<L�YL�rL��L��L��L��L�M��BP2P�6�Ps!�P�PzQ{�QL}6kR�"��3RIRv^R��S-TaT!U�!6U�!PU��U35�!�U�!�U{1�UXV-�V?2P�W]X� X�4X�MX�iX�p.��X��X��X�6Ys�%�^R�aY�V�Q�F"�tY��Y��Y��Y��Y��Y��Y��%�V��%�Z�V�uZ��Z��Z��Z��%��Z��Z�[�^R�V�g[��[��[��[��[7	�[7	�[��[��[T	\�&�62\sIR�	�4�]�9]W][n]��]�	�]{V�E^�	�^4
�^I
�^4
�^I
_4
 _^
�_��_�٬�����`��`��^4
�`�
6�`s\az�az�az.c�>c�Nc�[c�jc�V�D9{�cJd�
d�
Ld�
Rd�
+ez�ez�eIEf[�4��fz�4��f��f��g��g��g��-��g�p.�h��f��(�V��h�V��h�V��h�V��h�V�i�6�h�i�i�i�i7	!iT	0i�6i�Ci�Mi�&� X��4�m,�Cjz
m7	m�m7	(m�-m�:m�Bm�Km�[mT	�5d
IR�!y5�!�5�
!�5~�m�
6
ns6;nsEf�
�n�
V��n�
�p��p��p��p��p��p��p&��p��p�6�qs6�qsr4r9r�$r�2r�9r�hr�2r�nrzsx�4�(szQs�ms��%��s��s��s��s�V��s��s�t�'t�Mt�ft��t��t��t��t��t��%�V��tzuzm,��5��u��u�v�v�'v�DvXv�mv��%�F"�V��%�V��v�rw��%�^R�V�|w7�%��w�F"�V�6�ws�xP	y�0yULy��%��s�V�6ZysRz�Vz�Zzu${�6{�P{�g{��{��{��{��{��%��w��{�^R�|�|�(|�<|�Q|�V�g|�|�|V}��%�^R�V�p}��%�^R�V��}�V��%�^R�V��%�^R�V��}��}��}�~��%�^R�*~�V�n~��%�^R�V��~��~��~��9�F�Q�W��{�b�n�V���������%��@��l���%��w�b�V��%��s�V���ρ�聴�%�V�
���%��w����{�^R�V�R��j���%����^R�V����� 6�s]��|�S��X�%�Q�W��{�b�n�V�͇�䇾����0��G��j���%�����s�����s��s�V��� ���%�^R�V�5��������͉��%�^R�V��PO��`��o������������%�^R�V�C��T��c��u��V�����5�������%�^R�V������7���%�^R�V�a���v�5��P�u�����%�Q�W��{�b�n����V�ʏ��%������{�b�)��^R�V�JB�%�F"���GV��L�%����������%��b�4��=��^R�V�����Z��Z��%����ʑ�Ց�^R�V����Z��Z��%�^R�V�k��t���%�aY�^R�V����/��@��T��j���%�����������w��������s�V�6��s8���%����{�E��N��^R�V��������t�ؔ��t�����t��t���3��J��e���������%�Q��w�����{�b�n�^R�V�ᕯ����-��C���%�V���t��t�3���t��t�J��e������������xPǖ�^RmV��Y����%���W��{�)��b���n���V�9�rj���������%��{����)��^R�V�ᘾ*���%����;��F��%��X��b��o��^R�V��C[����%�^R�V�`-��-Y-����t�ә�♴����%��s�V�ᘾ��R���%����;��F��%��X��b��o��^R�V�{��ᘾ����%����;��X��b���s�%��F��o��^R�V�;�������Ν��%�
����%�
G��/)��;�7�5�j:����;�x<P ��|X ��|` ���r ���� ��� �&�� �D�� �v�� ���� ���� ���� �
�!�(�!�D�!�`�!�z�"!���*!���3!���	;!���	D!�(�
L!�8�
U!�H�]!�W�f!�f�n!�s�w!���
!���
�!���u"����"����"���5#���g#���u#����#����#��x$�2��$�e�8%��!V�%��.&��.&���&&���.&�
 :1&��. D&��.$W&��.(j&��.,v&���0�&��.0�&��.4�&���8�&��.8�&��.<�&���@'��.@k'���D_'��!VDs'��.D�'��.H�'���L�'��.L�'��.P�'���T�'��.T�'��.X�'���\(��.\P(��.`W(���d`(��.d�(��.h�(���l�(��.l)��.p)���t!)��.t$)��.x1)���|<)�8 Q|�)��.}�)��.�'*�����)��!V�/*��.�Z*��.�a*����i*�P ��q*�_ ��z*��.��*��.��*�����*��.�s+��.�z+�����+��.��+��.��+�����+�� ���+�� ���+��.��+��.��+�����+�� .��+�� .�,����,�� .�",�� .�4,�
 :�7,����?,����G,�J!��Y,�X!��g,�f!��y,�t!���,�����,��!V��,����-��!V�B-����Z-��!Z�l-��!`�z-��!g��-��!m��-�"���-�����-�u"���-��"���-��"���-�#���-�S#���-�	�#���-��#���-��!V��-����.�	Q$��.�i$��".��$��+.��$��-.��$��G.��$��Y.�%��g.�"��p.�%���.�+%���.�W%��/�{%��*/��$��2/�%��P/����`/�	 &���/�	4&���/�K&���/��&��0�	�&��0�+%��@0��&��D0��&���0�'��1��$��T1�='��V1����^1�e'
�h1�x'��1�����1��.�2����$2����,2��.�p2��.�w2����2�����2�	 &���2�	4&���2����G3��'��T3��' �d3��'&��3��'+��3��'3��3��'���3�����3�	(:��3����4�(I�4��.�4��.�"4����*4�P ��24�_ ��F4�B(��N4�P(��b4�^(���4�	 &��4�	4&��4����4��.(5��.C5���
L5��.
�5��.�5����5��(|�5���5�&��5���H6�	 &��6�	4&��6�^(��6��.�6��.�6����6��i$7��(�#,7��(�#57��(�$=7��(�$F7�)�%N7�)�%W7�)�&_7�*)�&h7�:)�'p7�D)�'|7�X)r(b8��)z*�8��)�+�8�
*�,�8�#*�-�8��*�0�8��*�09���1^9�+�1f9�+�1o9�%+�2w9�:+�2�9�O+�3�9�,�4�9�,�6�9�+,�6�9�=,�7:���7�9��!V7$:�� .7b:�� .;z:���?�:�q,�?�:�~,�?�:��,�?;��,�@ ;��,�@�;��,�@�<���@t<��!V@�<��,�@�<��,�@�<�-�A�<�-�A�<�-�B�<�'-�B�<�5-�C�<�C-�C�<�Q-�D�<�\-�D�<���E�<�.�E�<�.�E�<��'�F�<�$.�F=�-�G=�'-�G=�5-�H =�C-�H)=�..�I1=�;.�I:=�H.�JB=�\.�JK=���KS=�/|K[=�/Kd=�0/|Ll=�G/Lx=�^/
M�=��/|M�=��/M�=��/�N�=��/�N�=��/�O�=�0�O�=���P'>�%0�PE>��P\>�1&R�>�H13T�>�h18T�>��13U�>��18U�>�2�V�>�-2�V?��/�W'?�0�W<?�W23XD?�i28XY?��2�Ya?��2�Yv?��2�Z~?��2�Z�?�3�[�?�#3�[�?���[�?��H[�?��3O\@��3W^@� 4^_@�F4e`-@�k4mb;@�}4�dC@��4�dL@��4�eT@��4�e]@��ufs@��4�h{@���h�@���h�@��.hA��.lA���pA��4�p#A�	5�p,A�5�q4A�#5�q=A���rEA���rtA��5�wwA��'�x�A��'�y�A��5�{�A�}4�{�A��5�{�A��5�{�A��5�{�A��5�|�A�/6�}�A�76�}�A�?6�~�A�J6�~�A�U6�,B�\6��;B����lB��6���B�7���C� 7��lD�07���D�D7��?E�T7��FE�i7��NE�y7��hE��7��pE��7���E��7���E��7���E�8���E�	�'���E�	D8���E�	W8��F�	�5��F�	d8��F��8��
F��8��F��8�F��$��F��8��!F��8�(F��8
�/F��8��6F��8��=F�	�8�EF�	�8
�HF��!V�G��9�G��9�,G��9#�>G�:)�QG�:�cG�*:�vG����~G��:��G��:���G��:���G��:���G��:���G�}4���G��4��
H��:��H��:��3H��9��;H��9��YH��:��uH��:C�}H��:I��H�	 &���H�	4&���H����I��!V��I�N<~�J�����J��<���J��<��K��<��K�=��&K�=��SK� =��hK�1=���K�?=���L�S=���L��=���L��=��M��=���M��=��hN��=���N��=��XO��=���O��=���O��=���O�>���O�>�P�+>�P�>>�(P�X>�;P�r>��MP��>��`P��>��rP��>���P��>���P��>����!���?����?'���?1��P��?���P��?���P��?C��P��?I��P�@���P�����P��(C��P�q@I��P����GQ��@��OQ��@��dQ��@��lQ�A���Q�:A���Q�YA���Q��A���Q��A���Q��A���Q�B���Q�=B���Q�WB���Q��B���Q��B��0R�����R��C`��R�Dh�(S�3Ds��S�_D��S�pD��S��D���S��D��T�
E��
T�.E��T�]E��T�kE��R����� R�ͬ��8T�1&��T�����T��7��dU�7���U�����U�
 :��U�� .�9V�� .�@V����HV��!V��V�3F���V�@F���V�HF���V��4���V�	5���V����W�PF��W�uF��<W��4��DW��4��MW��F��UW��F��^W��F��fW��F��oW��F��wW��.��W��F��X��.�/X����#X��!V�7X����JX�G"�RX�%G.�\X�aG;��X��G���X��G���X��G���X��G���X�����X��(|��X�%H���X�=H��Y����8Y��H[�@Y��Hd�IY��H��LY��H��ZY���bY���jY���rY���zY����Y��G��Y��G��Y��'��Y�$.��Y��!V�Y����Y����Y�hI|Z��I�2Z�&J�lZ�TJ��Z���	([���	8[��J�
�[��J�
�[��J�
�[��J��[��J��[��J��[��J�[�K�[�;K�
\�JK�
m\�YK�u\�oK��\��K�Z�¯�)Z����\���]��(C]�q@I]�$M�%]�:M�:]�PM�B]�dM�W]�xM�_]��M�t]��M�|]��M��]��M��]�N��]�$N��]�@N��]�\N��]�{N��]��N��]��N�^��N�
^��N�"^�O�*^�,O�?^�IP�G^�dP�\^���k^��!V�^����^��P��^��P��^��P_�Q_�Q$4_�&Q�F_�2Q���! ��?"��?1$��?1(T_�RQ�)\_�]Q�)e_�hQ?*m_�qQE*v_��+�_���-�_�
 :-�_���.�_��W.�_�?6W/�_�J6W/�_��Q�0�_��Q�0`��Q]1�_���2<`��!�3D`��!�3Y`�cR�4a`�oR�4v`�{R�5~`��R�5�`��R�6�`��R�6�`��R�7�`�S�7�`�AS�8�`�\S�8�`��S�9�`���9;a��S�9Da��S�:Ra��S�;�a��S�<�a���=�,U�>�a��F�>�a��u>b�,U�@b���@-b�,U�B5b���B=b��.BZb��.Fab���Jib��.J|b��.N�b���R�b�1&R�b�WU�Tc�mU�T	c���U��UUc���Wc��UW;c��4�YCc�	5�Y�
�U�Z��UZLc���[Tc��U�[kc��F�[�c��U[�c���\�c��U�\�c��F�\�c��U\�c���]�c��U�]�c��F�]
d��U]d���^ d��U�^7d��F�^Nd��U^\d���_dd��U�_{d��F�_�d��U_�d���`�d��`�d�
V�b�d�V�b�d�'V!b�d��!Vb�d���b�d�kV2be��V8be��VDc&e��VJcWe�IP�d_e�dP�d}e�
Wbe�e�Whe�e���f�e�AWuf�e�IW{f�e�QW�g�e�XW�g�e�_W�h�e�kW�h�e�wW�if��W�if��W�jf��W�jf�.�k$f�.�k-f��W�l5f��W�l>f��W�mFf��W�mOf��W�nWf��W�n`f���oif���pvf�.Y�p�f�BY�r�f���s�f�e�sg��!VsLg���s\g�e�sfh���sth�e�s�h��&�s�h���s�h�Z�sAi�='�sZi�0Z�sbi�`Z�u�i�e�w|j��w�j�[�x�j�/[�yk�V[�z&k�u[	z4k��[	{Ok�AWu|Wk�IW{|kk��[�}sk��[�}�k�_W�~�k�kW�~�k�wW 	�k��W+	�k��W 	��k��W+	��k�.���k�.���k��W���k��W��l��WA	�l��WJ	�/l��W��7l��W��Ll�	 &���l�	4&���l�K&���l�����l�\p	��l�����l����m�+��m�+��m�}4��&m��4��/m�cR�	�7m����Jm��!V�um�E\��}m�S\���m�a\���m�r\���m��\��m��\��m��\���m��\���m��\�	��m��\�	��m�]���m�]���m�����m����n�e��#n�q,�	�+n��]�	�4n�	^�	��n�)^�	�\o�6^�	��o���	��p�_^
��p�j^
�q�u^
�r��^
��r��+
��s�����s�����s��^S
��s�_^
�t��^S
�%t�_
�Kt�0_h
��t�@_h
��u�R_���u�\_���u�f_s
�Tv�_s
��v��~
��w���
�dx��_��lx��_��gt�B���pt�f���ux�@`��}x�S`���x�f`���x�v`���x�_^
��x�j^
��x�����x��`Q��x��.�6y��.�=y����Py��!V��y�a~��y�����y�,a�
��y�Da�
��y�ua��y��a��y��a�
z��a�&z�
b�?z�%b�Xz�@b��lz�]b��z�]���z�]���z�nb���z��b���z��b���z��b���z��b�
��z��b���z��b��{�c��{�e���{�_d�
�4|�td�
��|��d��}��d�~��d%�V��d1�m��d1����d8���������'����$.����e?�\��e��d��De����ae�Ԁ��e����e�D��fS�|��$fS�����!V�ہ�����Nf���}4������4����dfh���pfm����F����|f�4��|fs�L�����T��}4��\���4��e���f��m���f��v���f��~���f������F�����������g�����g�����$g�����0g�����<g�����Mg��ʂ�-��҂�'-��ۂ�^g����rg����.����.������g�����g�����f�����f�������'��ah��0���h��X���h
����������Ui�����]i�����_W����kW��)��ei��1��ni��T��wi 	�\���i+	�����iA	�Ą��iJ	����i����i
�j���i�t���i�ą��i'�̅��i2����i��$��j��t��	 &�����	4&����K&�����6 �<���F��������D���!V����QW�����XW�����}4������4������F��ĉ����̉�Ljd���Wjd����_jh�7��kjn�p��sj}�����j������j������j������j��p���j������j��(���j��X���!V�1�����9���j��E�����]����k�����t��&k�����Fk�����[k��܍��k��0���k������k�̎��k
���k
��k'�"l+
�5l9
�Vl+
�ulD
��lP
��l9
��lP
����+����3���W 	<���W+	����[�����[����wW 	���W+	x��AWu���IW{���.����.����W�����W�5��_W�=��kW�v���W�~���W�����WA	����WJ	,��cm�9��omW
`��}m^
���q
 ���7z
 l���7�!t��8�"{���6�
#���7�
&����8(����$�)����8�)Ɣ��8*͔��8
+Ԕ�	d8�-ה�	�5�-ڔ��8�-���8�.��	�8/���	9
0����8�2��	�'�4��	D8�4��	W8�4���8�4����
4>���'�7Q���'�8e���5�:h���5�;k���5�;w���5�;���5�;����5�<���1&=ҕ���?ܕ��m�
?"���m�
A*���m�
A3����B;���m�
BM���m�
B[��#n�Cm��/n�C{��Kn�D���en�F�����H���Kn�H>��en�HT��e�H����!VH'���n�H)���n�I,��	�n�I/��	�n�I2��	�n�I5��	o�
IN��	 o�
Jg���n�
K~��Ho
L���Yo
N���jo�
P���so�
Q���}oS���	�o�U����o�
U����o�V˜�	�o�Vɘ�	�o	VИ�	�o�VӘ�	�o�V֘�	�o�V٘���V���V���[�Z'���p�Z/���p�Z>���p�[F��	q�[U��q�\`��"q�\���/q�]���Cq�]��Wq�^��`q�^.��iq�_D��zq$_њ��n�a��	 &�a��	4&�bM��K&�ci���.d���[�f���iq�f����q�f���q�g���"q�g���/q�hϛ�Cq�h���>i[���p�kh���p�kv���p�l���	q�l���iq�m���Wq�m���`q�m����!Vn��rHn����8Qo���9Xpԝ���r̝��!Vrܝ�egrg���8psz��9wt�����v����!Vv�����v���Er�vQ���8�vd��9�wt���n�y���\r�z���|r|4���r}i����~����r�����r��Ӡ��r�����r����+������������!V����}4������4�����sh����sm�������ġ�CsV���|s�����s��,�������������e�����������e����������(u����Eu��4��[u�����ku��$���u��`���u������u����e�����!V������l��e��������P��}v��ĭ��v��Į��v�����v����w����6w�����Cw��ܯ�}v����jw �D��e��������ı�e��J���w��c���w;�u���wA�����������$�����W%��Ҳ�xH�ܲ�6xA�E��Ox��P��ex�����%�����x������x�����e��j���!V����oy�����}y������y������y��ȴ��y��д��y��ٴ��y`����yf�������l��zm�j��)z�����5z��̷�Dz�����v���izy���xzy�x���z~�̹��z����{��0��{��L��e�����!V����|��(�����x��}��ؽ�>}��d��e��Ծ������e��T�����t���}�����e��������Ϳ�Q$��п�e��,�����T��e������������}�����e�����������G~�����=����e��t��������Q$������~������~����e�� ��������w���������e�������:������T��������ŀ�����Ӏ�����������e�������2��4��4��R���a��i�����������������������,��e����������������������J������e����������d��‚���ނm��������e�����������%�����e������������������у������}��������o������w���%���4�-����4�����T�%����~�6������<�������e��΄u����ل������W������^�,���E�T��&�L�g��:������N������e������!V������������������������;������V��� ����c�c��������ʆ���������������e�k	����s��e�
T����
,��؈{
���������$������8��e����������v���;�� ��O�����b��������4��e������U����b����o�������(u�����$����/���e� ������ ������ ��Ɋ�!���J|! ��~,|!2��݊�!D����!�����!���*�J	#���%�$���e�$V����$����v�$4�����$���zm%������'���&��)���O��)���g��+������+���e�,H����,�����,�����,��&��.��e�0����!Z0�����0`��C�m0���s��2������2l�����2�����48�����5���ɍ�6���֍�7���却8������:�����<��7��>4��N��@T��g��B����vD�����F=����FE�����HN��ʎ�JW��Ll���M���e�O��!O��?�Q��?R��?(U��!V��?�X��?/Y��?1\�����]����]0���:]������_���e�a�����a���e�aX����a���e�a����&�a�����a��l�Qa$����cH��='�eq��0Z�ey��`Z�g���e�iz���&�i�����i��l�Qi���k��='�mH��0Z�mP��`Z�ot��e�q����qL�� ��qz����r�����t���+�vy��P��x���e�x(����xH�����x��ȒYz��Ӓ_z����{8�����}F����d��e�����!V���͓f���ۓ��������银�-�����<�����e���������������e�� ����.�����Q�����d�e������/�^���U�{���|�e���������Ж��4�e��T	�����	�B�{�L
�i����
�z�c��
���c��
���c��
������Ǘ�$��������������T�4���m�R�����c�����e��l
�����
�ǘ`��
�e��������6w���y���������H�����z���s���e��R���UB�_���}�l���`B�y���kB� ����0�e��<����t�ǘ`���e�������m��$����������������Ϛ�8�e����������V��������%��������LZ����TZ�E����p�����p�����p�.���q�����q�����q����į����̯��0��������������y��������<��8������������J	�F�F�F�F�F�F�F�F�F�F�F�F�F�L�L�L�L�L�L�V��5V�F�`�L�k�F�`�L�k�s�F�`�L�k�F�`�L�k�F�`�L�k�F�`�L�k�F�`�L�k�F�`�L�k�F�`�L�k�F�`�L�k�F�`�L�k�F�`�L�k�F�`�L�k�F�`�L�k�F�`�L�k�F�`�L�k�F�`�L�k�F�`�L�k�F�`�L�k�F�`�L�k�F�`�L�k�F�`�L�k�F�`�L�k�F�`�L�k�F�`�L�k���F�`�L�k�F�`�L�k�F�`�L�k�F�`�L�k�F�F�`�L�k�F�`�L�k�F�`�L�k�F�`�L�k�F�`�L�k�F�`�L�k�F�F�`�L�k�F�`�L�k�F�`�L�k�F�`�L�k�F�`�L�k�F�`�L�k�s�F�F�F�F�`"������F�����F���F���F�F�y5���%�Z��ǛF�F�`�L�k�F�`�L�k�F�`�L�k�F�F�y5F�y5ϛ֛ϛF�	�y5�F��y5��F�`�L�k�F�`�L�k�F�F�j:F�F�F�`�L�k�F�`�L�k�F�`�L�k�F�`�L�k�F�F�F�j:F�`�L�k�F�`�L�k�%�/�8�@�L�F�F�F�F�F�y5	�	�R�L�	�V�`�F�F�F�L�j���F�F�`�L�k�F�`�L�k�l�F�F�F�F�F�F�F�F�F�F�F�F�F�F�F�F��0
1r�w�F�F�F�F�F�F�F��3����������������F�F�j:��F�`�L�k�F�`�L�k�F�F��5�5y5�5�5������ǜ����F�F�˜Ϝ؜F�Ϝ؜؜j:؜؜Ϝ؜�F�F������ǜǜǜ��ǜǜ������F�F�F�F�f:j:o:{:�:F�F�F�F�F�y5F�F�F�j����<����	���	���:	�F�F�F�F�F� �'�.� �֛F�F�����F�F�F�F�F�F�F�F�����7�F�F�F�F�F�������r�w�Ϝ؜s�F�`�L�k�F�`�L�k�˜��F�F�����F�F�F�F�`�L�k�F�`�L�k�F�E�F�F�F�F�M�F�F�UI�������������IF�F�F�F�F�F�F�F�F�F�F�F�F�F�F�F�F�F�����F�F� �'���������.� �֛F�F�����s���F�F�S��F�F�F�F�F�F�_�S�i�_�UU6UUPUF�`�L�k�F�`�L�k�F�`�L�k�F�`�L�k�r�w�F�F�n�F�n�F�F�F�F�F�F�F�z���F�F�F�F�F�F�F�F�F�F�F�F�F�����F�����������������d��F�F�F�F�F�F�F�F�F�F�F��F�F�F�F�F�F�F�F�F�ÝΝÝΝٝÝ�F�ΝΝ�Ν�F�����F��~�F�F�F��F�`�L�k�F�`�L�k�����F�F�F�F�F�F�F��PF�F�F���������������j:� �������LdF�F�F�F�F�F�F�EfF�F�˜*�F�F�F�F�F�F�F�F�F�F�F�F�F�F�F�F�F�F�F�F�F�F�y5y5F�F�F�0�:�=�=�F�Q�^�^�m�.�~�^�m�m�.�~�m�.���֛^�.���֛^�m�.���֛m�.���֛F�F�F�F�F�F�F�F�F�V�����������Ϝ��F�Ϝ��F�F�F��5F�F��5�5�5F���5�5y5�5����ǜ������r�w���ʞF�F�F�j���j���r�F�F�i��5F��5F�ממڞ�ޞמ�:�j:��F�F�F�F�F����F�F�y5:�j:F�F�F��
�F�F�F����5�5F����5�5F��5�5F�r��
�F�F��%����F�F���������������j:��������������������)�?�A�)�j���F�����������C�������������F�F�F�F�����L�L�L�������������������������������ʞ������������˜����˜F��������������5V�R�V�[���������������d��5����F���������j�������������m�j:��j:����������������������������������������������������v�������y5����������������������������F�������M�������������F�����������������ϟϟ��������������������������������������������ӟ���� �'�ϟϟ.� �֛ �'�����.� �֛����������������������������������������L�����������������PU��������������F�������������������������������ϟ������������������۟����ϟϟ-(۟�������������������������������������V�V�?�A�˜	���




	
















-19#
%9(
)9*
+
,9.
/U2
=
A}A�A�A�C9N
Q
[�j
k
}9�
���*�9�}���������}�����9�.�.Y�"�Y�"�Y#�YI#�Y~#�Y�#�a$���)r��)z�7�88���8�9
�����������������	������!��)��1��9��A��I��Y��a����'��'q��l��l�8t��t�8	����|�!��!��9��L�3�f��8���8y�p���8�	����8�����8��8���j�	�������Ǣ��ܢ���8�������8���j��������	���&2�����������!��	����&��,��3b�9)���F�	�����y��8P)�.��8W���)��1��f1��k�ͤ���4��ͤ���4��ͤ���4�I�G����t�8���j���8��Ǣ��0���6�h�>���H���R��1a�in���A��q��
y����I��Q��Aʥ�"�Aޥ+i����!��1i�$��=�1�r��i��8��G>���DiW%�i���Y�!��զ��禁���N�#�Z��8NI��i�?`��y�Q��q���u����8�����ۧ������I�G��]���8���q���
����8y�]��ܢ���'�����/�:��y��	�8��j��������'���'3��'+�}4��H���}4��9W�������T�����r����F�x��r���F!	+(		��		/��		�!�������8�̨��ڨ��ߨ���8>�ꨱ���C	�J��f��$�	5�z��!y��N��!	o��1	�4�!	�����������������A	q,�a�,�a-�a5-�aQ-���8���A	~,�I	.�I	5-�������8����˩
�������کyQ	��"Y	�4����a	0����������4��f��i	/6�i�,�i-�iG��i)�iV���`�E��Wy	�`��9WH�����h�	��w	ߨ���������ƪ����	��$����!�	���	������	��!#����!��i�!!0��9���	�!��?�\�A	$�4��	s�,�8y�8y�	���	�")ȫ))ګ3)��)��L4�8��	A�[<�8��		5)���	���	n�j�	��o�	|�xD��	��4�8,�'�,�8�,�8�,�$�!�=�!�=�H���8WY��A�y&��A2�A��L�!T�=\�!d�=i�!� &vI����]E�AT�}l�!�v��t{��)
���y��i�?�1
��d)
ŭ�A
ϭ�I
�"�)
���K&���!�1(��a
1��i	[�i
�4��i��
v���8�)��|�'�q
�2��<)��B)׮Q��8�y
P �y
�y
��|�8�)���
+�c�
6�c�?�1�
n�m���s�
�����y��8P��'���8���j�I	����9W�Ǣ����1�����i������y��8P!���8W�	��,��d�!��j��x��,�'�,�8���4���
�P�4����
����
ʰ�հ��
�A���
�Q���!	aG��f��7��!��!��9��!��L��!��L����}���
����
����8��j��8y����DZ�<��1����������1&�
���:���I���U��U6�D�'�D�8�����
��Q���|���
���
��y�����Z�Y$�~Y4��a���uY��!Y���$�!Y����γ�ٳ������ٳ�����U6�)}4�Y��Y� 1��9��D��,��A	_^�<��	n�JD�8�L�j�a��a&��T�8P\�8a���l���8�t�j�a��a&��|�8a��a���a���aǴ�aӴ�a-�a'-�aߴ�a��a���a
��a��a-��a:��aG��aW��ag��at��a���a���a���a���aǵ�aֵ�a嵤a�i��A	�^������8���j���!	\�C	�'c��8i��i)�i-�i���i���iζ�i޶�ii���i�,�i���i��i��i ��i*��iQ-�i\-�L��L9�fq����@F�	�� ��!	��F ��!��8���j���8���j�a�g������÷� ��8���j�L�8�Ǣ�A	�(��8��j�q��q)�q)�qϷ�qݷ�q-�q-�q�,�q�,�q���q뷭q���q�(�q�(�q��q��q!��q/��q�(�q�(�q=��qG��qQ�hq[�mqG��q*��qQ-�q\-�qe��qs��q���q���q���q���i���iϷ�i-�iθ�iQW�i�(�i��iV��i�(�i�hiG��i�i��i�_�H���8W�����Q��!]�1�F�!!]�Q/��QA��Qf`�Qv`�t�'��'�tS���'�A	�J�S��Yiq�Y`�h�8$�'�A	l��$S��aiq�a.��÷�!$�8�8�,�j�,Ǣ�4��y0��!$�8�t�8��	�������!4�81���!d�?3"4��i��:"4�'�49�f4��A"i��L"��$��qϹ�"qjw�"���y��<���<ͤ�Dͤ�D�������"$���$ͤ�L���Lͤ�D���Dͤ�T���Tͤ���"#��8)#��'���'�<��'�in�n#D�$�L�T�\��\�8�����j�#d��#����D�
�X��#�s��#���#����#���$����������������P��+�������̨�"������� �����̨,�^(���������������t�8y�P���Y�^,��d,	��|��|�8��	�}4���AǼ�,AԼ�!��,I��s)��)/��1��)1��,U��,Aj�sA%Fs)���,��4���?�,��-����`�
-��'����|��8U6�Y�!Y��I-YcRP-t�8_-	佁���i���
'�}q��yS�t-q[�|-\������������-���-���-���-�!��-�>��-�������m�������\�	���I.����.|�8��!YͿ�.������|�8��?6��E\��	5���4�
�4�
�4�|�'�	���3��.�S\��
]���8QC����4�U����4��b���s����8���j�	�/	
v�/
��/
��$/��8���j�
�D/�����{/)
}��/����.1���/��8����/	��������
�������8�Y�/9��Q	S\�Q	��/Q	%±��8A
��I
b��/I
o…I
�±I
���/	��/	[��	�8�Q	E\���/	�¿a
g50	����������)��/Yi�60��W��8��'��$ä��!�E�`0�J�k0�Z����'���8��@F�)[��)?6�i�F^,�qà0��4�0�jw�0a����
}�s1����1�Å���s���z1��Á19\�A	A]�Y���1Q�Î1�����ͤ�QĢ1�
���
Wı��8Q�ı1�
?6W1�|�I/6����
2���2�� 2����i�F�i�F�������8���j�Q	�ĿY�8���Ģ1��8�y\�A	Y
�
"�H2�	�*ſ�D�Y:ū2�
�!�hŰ2�8��j�Y%±Y�/Ǣ���'�	�ŨY�ű�
�!i��4u�4��$����8C��1��s1��s1
Ʊ1Ʊ6ƿ,P�s!	�d5�n�m5�������t5��Ɓ��ƅ��Ɓ��ƅ�ǁ�Dž!	��5!	��5�
�!�
B��5�k��5�!$�L,�!�
��u6�ǿ�
�Dž�
�ǁY���Y����ǨY
�64�$�Y'Ȩ	6��6�H��6�Uȿi`��fȿ<qà0<jw�0�qȨ��Å	?6����6	�4��`�7��ȱ�
��!7�'7!2Q�),��719�1V�s1��71��sD����41�!I��o8I��o89�v8���
�!ʁ8�
2ʊ8AI�AO�Iaʖ8�I�vʠ8Y���O�Y��L�$��?6��[��Y�ʯ8T��1�ʿ��8Y+˫2L�8\�!	P��8L�8y�_˭��89Ϲ�?6W��4�Q	t�9�?6W��4���9Q�ˁY�Dž��J	�v`��A�����s���s���sI
�����l9�'�s9�:�z91���9�F̈9�O̿,�c̿,�@F�9��̖9��̅��^���̿	��	�̅	�̅�Ϳ,i���'���3�W�E���P�:�o����̀:�͆:�Ϳ��$�d�����������ͅ�Ζ:�7Ν:�gΤ:�w����d�����sY���:�γ�?6�l��Y�Χl�8l�'��,�2Y<�J	i�F^,��J��U�t;�{�;t�8���I	��!�ϭI	.�I	�Ϩ�!	�Ϗ;������υ�ϕ;)М;!;Ѕ��Å�^�\<�
�\�h��7�
�п�
�����A	��z���
r����Ф��W	�9A(Ѧ<|�$�9Vѵ<|�8QхA�хY�Ň1Y�!���>���1�F+>��0>��8Q�Ǩl�8F>a���Q�Ϳ��Ѩ��Ѩ��ѫ2Y������a>�	ҿ��f�ҨY[��Y,�y>L҂>�cҨi�!��Ҕ?��ҿ��қ?��s�s�s4�sS�s}Ӣ?�Ӣ?�Ӣ?�Ӣ?�Ӣ?���*�sF�sy��A@����r\�����s�����8������_��Ԍ-���_Y%Ց@��$���8����@��8�WՅ�lՅ��8����W����������Յ��Յ��ՅY���Ŀ�3�WA		���5-���g��O���\���/6��F���k����8���j��Ǣ��{�����u�/6�� &�A��UBA��`BA�kB��!��!��!��!��?���!�{�������!� ��D�3��D�Fױ�ܢ�����D����!��D�������D��ע?���s�����D�\�E����_�dp�
�^
�g�p�u�_�d_d�_d��u
�y�.��E.��.�F.��E.�F.�F.%F.��E.�E.�NE.�NE.�E.�E.���k
�Ad`dad�d�d�d�d�d�d�d�ddd d!d@dAd`d�d�d�d�d�d�dd d@dAd`d�d�d�dd�d�d�d�dd!dAdad�d�dd!dAdad�d�d�d�dd�d�d
d!
da
d�
d d@dAdad	���d�dA
da
d�
�3
3
�3
�#3
n#3
?#3
�#3
�C3
�c3
�c3
$c3
Y�d�d��
��
�d�d@d`d�dAdad�d�ddd!dAdCK�+�d���,�d�d���,!dad���,���,�����,#�e-�3
.�3
�-�3
S.3
�.C3
�0C3
�0C3
1c3
D1�+
��3
p2�3
M2�3
3�3
�2�3
��3
��d�3
�3�3
��3
O3�3
�3�3
��3
�33
4#3
S4C3
�4C3
�4c3
�4c3
.5�d�d�3
z5�3
�5�d�3
�5�3
&6�3
��k
��d�k
�d3
�6	k
�#3
g7#3
�7#3
77)k
�C3
�7C3
8C3
>8Ik
�c3
�c3
9ik
��d�3
�9�3
�9�k
��d�3
R:�3
*:�k
��d�3
;�3
�:�3
��k
��3
A;�k
�3
�;3
.<3
�;#3
�<#3
=AdC3
�=C3
�=C3
4=C3
i=ad�d�d�3
3?�3
�>�3
�>�3
�>3
_?3
Y#3
Y#3
�?C3

@C3
�?adc3
G@�d�3
�6�d�3
��d�d�d�3
�@�3
�@dd3
JA3
A d!d#3
zA@dAdC3
BC3
�C3
�A`dad�d�3
eC�3
)C�d�3
�C�3
D�3
��3
�C�d�3
D�3
�D�3
QD�3
��dd#dCdcd�d�d�d�d�dd d#d@dCd`dcd�d!k
�Ak
�ak
��k
��k
��k
��d�k
� d k
�  d! k
�@ dA k
�I �d` di �1,i �d� d� �d� d� �d� �:,� �d� �d� d� d� �1,� �d� d� d� �1,� �d!d!d	!�d	!�U,!!d)!�1,)!�d@!dA!dI!�d`!da!d�!d�!d�!d�!d�!d�!d�!d"d "d@"d`"d�"d�"d�"d�"d�"d�"d#d#d #d!#d@#dA#da#d!&dA&da&d�&d�&d�&d�&d'd!'dA'da'd�'d�'d�'d�'d�'d(d)d )d@)d`)d�)d*d�*d+d +d@+d!,d�/d�/d�0d�0d�1d2d7d 7d@7d`7d�7d�7d�9d�9d:d�:d�:d�:d;d`;d�;d�=d>d >d@>d`>d�>d�?d�?d�?d@d @d@@d�@dAd Ad Bd@Bd`Ed�Ed�Ed�EdJd�Jd�Jd�Jd�Jd�Jd�Kd�Kd�KdLd@Ld Md@Md`Md�Md�Md�Md�Pd�Pd@Qd`Qd@Vd`Vd�Vd�Vd�Vd�VdWd Wd@Wd`Wd�Wd�Wd�Wd�WdXd Xd@Xd`Xd Yd�Yd�Yd�Zd�Zk
��Zk
�[k
�@[k
�`[k
�^k
��^d_d�_d�_d�_d�_d`d `d@`d``d�`d�`d�`d�`d@ad`ad�ad bd@bd�cd�cd�dd�dd�dd�dded ed@ed`ed�ed�ed@id ld@ld`ld�ld md@md`md�md�md�md nd@nd`nd�nd�nd�nd�ndod od@od`od�od�od�od�odpd�sdtd td@td�w#;$�w+n%�w3d x+<' x3d x#�%`x#�'`x+.)�x#�)�x+,+�d �d��d �d@�d`�d��d`�d��d��d �d��d��d��d��d�d�d �d@�d`�d@�d�d@�d��d�d@�d��d �d��d@�d�d�d �d �d`�d��d��d`�d �d�d�d �d@�d`�d`�d��d��d@�d@�d�d �d`�d`�d`�d@�d@�d@�d��d �d��d�d�d@�d �d@�d`�d��d��d�d@�d�d��W���C_y�����m��������2����(Lg�����<������Ii���A��%w��x�4 � !>!l!z!�!�!�!�!"Q"h"�"�"�"�"�"�"#/#4#t#�#�#�#k,�,�,�,�,--"-0-;-�-�-�-@.�.�.�.�.M/�/�/	0q0�122)2:2�2�2�4�6�6�6�677.7�8�8O9d9�9:$:�:�:�:�;c<}<�<�<>8>�L>[>Y?~@�@�@�A�A�A�A�AOB�BCKD�D�D%),CK}������&5&5&5&5&5RD�&5�c��c��c�+e��e��e2&51pe&5nr� %), /"0'1*3+4-52688>:E;G>H?J@NAPBXC[EaIjJlKtOxPzR}S~T�Y�\�]�^�_�a�d�e�l�n�o�p�q�r�s�t�u�v�w�{�|�}�~���������������������������������������� �'�)�/�0�1�2�4�5�7�8�=�>�?�@�A�B�E�J�K�M�N�O�P���
@�(?Wm�"�(�(�(�(� � 
�!�!F"yK"
$��%
�%
�$��$��&�'�'� s(j@�*�*�*�*�*�+(�+��+�X,
�,��,���-�-��-�-�.�'�-��-�.�.�0�0�0�0�0�0
43>P3>s3
�0
�3>�3�3�4�4�4�g5m5	6
�46�"6��6�69)9�'59
D9�	6
M9
Y9=:0F:4W:0);
4;�48;=:D;U�>�>�>
?

?0?02?B?R?V@=c@UjU�B
�B
�B
C
,C
FC
\C
�E��E��EF
�F�g5��4�F�F�GO�G�Hj
IIv5I
H�'�K�`��K
�K0�K��K�jUHOZOjO
�O
�O
�O
�O
�O
�O
P
P
>Q+JQ(�Q��QQ�6p%RF"��T��T(�T(�T(�T(�T��U�g5�U�U�U�U�U�U7V
?V�LV'�VQ�VWP
/Wo�X��X�X�X��X��.�XY
Y�&d	�X�	\�X�X\	�X\	�.�XYg	Y!\{	�+��4�T�	�]�]��]0�]
�]�	�]��,�	Y>
`�
Y>
`�
`>
%`�
1`7`�`��`Y>
yc�
�]�c�c�c�
�'[f0�4�f~�4H�g+h3h
;h�-�Hh��.Xhg�h��h��hj>�Xjj\	jg	+jG0jP
Y<j>�X�4k��k 
�X\		\�X\	�X��.Y�X�XYg	M9
	6
�m�'59
D9�	6
6�"6��=�
�&�
�np
p
%p
=p
Fp"Tpap
|p
�p
	\�q�q��q
�q�q�q	\�q�q
�q�q�q��q�q�m`�m�m��r��r
�+��4>s~eZ�|(�|(�|(�|��|�f}��%
>~
�%
"�(!]��
>~
�����`�,���(F"y���&�&��
Z�"k���������		�
�
��	


��98
;:=<YX[Z]\��4 3 Z!Y!W"X"d#e#r%q%s't'{)z)|+}+�-�/�1�1�3�3�5�5�7�9�9�;�=�=�?�?�A�C�C�E�E�G�G�I�I�K�K�M�M�O�O�Q�Q�S�S�U�U�W�Y�[[]]__aacc
ee
ggiikkmmooqqssuwwyy!{ {&}'})(*�+�-�,�.�/�0�1�3�2�=�>�@�?�B�H�I�J�K�Q�R�S�T�W�X�Y�Z�e�d�f�g�k�l�m�n�o�y�z�|�}�~���������������������������������������������������������������������������������������������������������������������������������������������	
		 

!"#%$'&()/.1032547!6!8#9#;%:%='<'>)?)@+A+B-C-E/D/M1L1N3O3T5U5V7W7]9^9_;`;c=d=f?e?gAhAjCiCkElEnGmGoI�K�K�M�M�O�Q�S�U�W�Y�[�]�_�a�a�c�c�e�e�g�g�i�i�k�k�m�m�o�o�q�q�s�s�u�u�w�w�y�y�{�}�������������������������������������������������������������������������$�%�)�(�*�+�,�-�7�6�@�A�B�C�E�D�F�U�T�`�a�b�d�c�j�i�l�k�m�n�q�r�t�s�v�u�w�x�z�y�{�|�}�~�������������������������������������������������������������	�	���
�
���������������!�#�%�'))++--/13579 ;!="?%A'C&C(E)E*G+G-I,I.K/K0M7O8Q9Q;S:S=U<U@W?WAYBYC[E]D]H_I_NaMaTcSc[e\g^iakbkcmdm�o�o�q�q�s�s�u�u�w�w�y�{�}���������������!�"�#�$�%�&�4�3�;�>�d�l�y���������	

/�/�2�2�A�A�A�A�N�N�����+2:BJRZbk_#*2p���Hp����^q��4=m��Ra.Sg��&[y����&.bmy����������19BT]fn����'09o : q � � � � � � #!,!5![!�!�!�!�!�"�"�"#�#�#4$V-�.�.�.2/;/s/�/�/�/(0>0H0Q0�0�1�122�2�2�4[6d6m6�6�6g8�8�8�8�:�:�;�<>#>h>q>v@�@�A�AvB�B�B�B�BCC�D��6�
X��

]

�

�8

�"X

�

�""�"(

]&

�D"5�

��

��"��"�`�(,��"��"��_�

�q�`?���&��@0���B���B�E:�0Gb��I��@K��&%'%FEGEHEIE`_�������������\������������������_��g�X����/w�����K�Q�\w�+�]�]. h � � ]"=�#A�#C$Q�#��-��8��8^�B^�^�B^�BwCK	�D�<Module>GridDemo.dllCollectionViewNavigatorDXDemo.ControlsMultiSelectModeConverterGridDemoPastUnderFocusedRowToSelectedIndexConverterGeneratingDataToWaitIndicatorTypeConverterIssueStatusImageConverterIdToUriConverterCategoryDataToImageSourceConverterBooleanToDefaultBooleanConverterNavigationStyleToTextConverterScrollingAnimationDurationToBooleanConverterShowSearchPanelModeToTextConverterFindModeToTextConverterFilterConditionConverterSearchPanelModeConverterGroupNameToImageConverterHeaderToImageConverterColumnHeaderTextConverterBirthdayImageVisibilityConverterViewToBooleanConverterCountToVisibilityConverterIntToDoubleConverterRoundValueConverterGridSummaryListNameTextControlHintControlDemoColumnChooserControlDemoColumnChooserGridDemoModuleGridControlWrapperPrintViewGridDemoModuleResourcesStackPanelCountryToFlagImageConverterCommonDemoModuleCommonDemoAutoFilterConditionVisibilityConverterDynamicBindingListDynamicDictionarySetMemberValueBinderGetMemberValueBinderStringStateToBoolConverterNewColumnModelXmlIntegerConverterXmlDateTimeConverterCollectionViewViewModelColumnChooserTypeGridColumnChooserToExpanderVisiblePersonDragDropViewModelDXExpanderDecoratorDoubleToCriteriaOperatorConverterGroupIntervalDataInvoiceProductGroupSummariesAlignmentViewModelConditionalGroupSummaryItemTemplateSelectorGroupSummaryViewModelDemoTableViewHitTestVisitorHitTestInfoSLNWindDataLoaderHyperLinkAttachedBehaviorCustomerDetailsConverterCountInfoVirtualPropertyDescriptorLocationVirtualListProcessInfoAnimationElementProcessInfoProcessInfoListProcessGeneratorProcessUpdateModeUpdateTypeUpdateDelegateProcessToRemoveMasterDetailViewModelMasterDetailWithRIAViewModelMultiEditorsTemplateSelectorMultiEditorsListPercentCompleteToFontWeightConverterStyleFinderRangeProductIdToProductNameConverterCustomNodeImageSelectorMultiViewViewItemMultiViewViewModelBaseMultiViewTableViewViewModelMultiViewTreeListViewViewModelMultiViewBandedTableViewViewModelMultiViewBandedTreeListViewViewModelCountItemCountItemCollectionOrderDataListSourcePLinqInstantFeedbackDemoViewModelPrintMasterDetailModuleViewModelRIAInstantFeedbackViewModelRoutedEventCommandHelperRoutedEventHandlerRoutedEventHandlerArgsEditValueChangedEventExtensionSendEmailButtonListColumnGridSearchPanelViewModelLayoutSampleBaseResourceLayoutSampleMemoryStreamLayoutSampleNavigationStyleListNavigationStyleToIsEnabledConverterShowTreeListLinesConverterTotalCellTemplateSelectorValidationRuleDecimalValidationRuleIsGreaterThanValidationRuleIsGreaterThanOrEqualToValidationRuleIsLessThanValidationRuleIsLessThanOrEqualToValidationRuleDoesNotEqualValidationRuleValidationResultVerticalScrollingOptionsViewModelWCFInstantFeedbackViewModelQuestionEmbeddedTableViewGridSearchPanelMasterDetailWithRIAPrintMasterDetailSCEntitiesGridDemo.WcfSCServiceSCIssuesDemoDemoValuesProviderGridControlDefinitionCollectionGridControlDefinitionGridColumnDefinitionInternetConnectionControlOrdersWithDetailCustomersWithDetailEmployeesWithDetailsEmployeesWithDetailsForEmbeddedViewEmployeeWithDetailsChartPointCountryNameResolverEmployeeToOrdersConverterMultiSelectionOptionsControlOrderDataGeneratorGenerateOrderDataProgressEventArgsCategoryDataProductDataOrderDataDemoDataProviderPriorityOutlookDataUserOutlookDataGeneratorWebContextRiaSCSCContextRiaSC.WebISCServiceContractSCContextEntityContainerSalesByYearDataCellSelectionListCellSelectionPropertyDescriptorSalesByYearDataColumnTemplateSelectorStoryboardContainerTabHeaderPrintInfoControlBindingCollectionTaskCategoryRelationTasksCategoriesTasksWithCategoriesGroupingControllerTasksWithCategoriesCountriesDataCountryXPOServiceHelperGridCheckAllDemosFixtureGridDemo.TestsAutoFilterRowBandedViewBindingToDynamicObjectBindingToXMLCellsSelectionCollectionViewColumnChooserContextMenuGroupSummariesAlignmentMasterDetailViewMultiViewCurrentDataRowDataErrorInfoDragDropExpandCollapseGroupsFilterControlFilteringFixedColumnsGroupingGroupIntervalsGroupSummaryHitTestInplaceEditorsInplaceLookUpEditLargeDataSetLiveDataLookUpEditMultiEditorsMultipleGroupingMultiSelectionRowFilterActionNewItemRowPagedCollectionViewPLinqInstantFeedbackPrintOptionsPrintTemplatesRowTemplateSerializationSortBySummaryTableViewTotalSummaryTreeListViewUnboundColumnsValidationRIAInstantFeedbackRIAServicesVerticalScrollingOptionsWCFInstantFeedbackXPOInstantFeedbackAppStartupSystem.WindowsSystem.Windows.ControlsUserControlmscorlibSystemObjectSystem.Windows.DataIValueConverterSystem.Windows.MarkupMarkupExtensionDevExpress.Xpf.Core.v13.1DevExpress.Xpf.EditorsBytesToImageSourceConverterSystem.Collections.GenericList`1DevExpress.Xpf.Grid.v13.1DevExpress.Xpf.GridGridSummaryItemControlContentControlDevExpress.Xpf.Core.WPFCompatibilitySLControlDevExpress.Xpf.CoreIColumnChooserIColumnChooserFactoryDevExpress.Xpf.DemoBase.v13.1DevExpress.Xpf.DemoBaseDemoModuleSystem.ComponentModelINotifyPropertyChangedStackPanelSystem.Collections.ObjectModelObservableCollection`1System.CoreSystem.DynamicDynamicObjectSetMemberBinderGetMemberBinderEnumDevExpress.Data.v13.1DevExpress.XtraEditors.DXErrorProviderIDXDataErrorInfoDevExpress.Xpf.DemoBase.HelpersDemoViewModelBaseDataTemplateSelectorTableViewHitTestVisitorBaseDependencyObjectNWindDataLoaderSystem.Windows.InteractivityBehavior`1System.Windows.DocumentsHyperlinkDevExpress.Data.BrowsingPropertyDescriptorValueTypeSystem.CollectionsIListICollectionIEnumerableITypedListFrameworkElementMulticastDelegateDevExpress.Xpf.DemoBase.DemosHelpers.GridMultiEditorsListBaseTreeListNodeImageSelectorIListSourceButtonDevExpress.Xpf.Grid.v13.1.CoreGridViewNavigationStyleDevExpress.Xpo.v13.1DevExpress.XpoXPLiteObjectSystem.Data.Services.ClientDataServiceContextDevExpress.Xpf.DemoBase.NWindOrdersCustomersEmployeesEventArgsIComparableIComparable`1DemoDataProviderBaseSystem.ServiceModel.DomainServices.Client.WebSystem.ServiceModel.DomainServices.Client.ApplicationServicesWebContextBaseSystem.ServiceModel.DomainServices.ClientDomainContextEntityContainerEntityCollectionBaseIBindingListDevExpress.Xpf.DemoBase.DemoTestingCheckAllDemosFixtureApplicationDemoStartupDependencyPropertyIsSynchronizedWithCurrentItemPropertyCollectionViewPropertyIsSynchronizedWithCurrentItemEditorVisibilityPropertyEditableCollectionViewVisibilityPropertydirectionsfieldsget_Directionsget_Fieldsget_IsSynchronizedWithCurrentItemset_IsSynchronizedWithCurrentItemICollectionViewget_CollectionViewset_CollectionViewVisibilityget_IsSynchronizedWithCurrentItemEditorVisibilityset_IsSynchronizedWithCurrentItemEditorVisibilityget_EditableCollectionViewVisibilityset_EditableCollectionViewVisibilityget_CurrentSortDescriptionset_CurrentSortDescriptionget_CurrentGroupDescriptionset_CurrentGroupDescriptionget_CurrentGroupFieldNameset_CurrentGroupFieldNameget_CurrentSortFieldNameset_CurrentSortFieldNameListSortDirectionget_CurrentSortDirectionset_CurrentSortDirectionSystem.Windows.InputICommandget_DeleteGroupset_DeleteGroupget_DeleteSortset_DeleteSortget_AddGroupset_AddGroupget_AddSortset_AddSort.ctorOnDeleteGroupOnDeleteSortOnAddGroupOnAddSortCanDeleteGroupCanDeleteSortContainsGroupDescriptionPropertyGroupDescriptionFindGroupDescriptionContainsSortDescriptionsourceroot_contentLoadedInitializeComponent<CurrentSortDescription>k__BackingField<CurrentGroupDescription>k__BackingField<CurrentGroupFieldName>k__BackingField<CurrentSortFieldName>k__BackingField<CurrentSortDirection>k__BackingField<DeleteGroup>k__BackingField<DeleteSort>k__BackingField<AddGroup>k__BackingField<AddSort>k__BackingFieldDirectionsFieldsIsSynchronizedWithCurrentItemIsSynchronizedWithCurrentItemEditorVisibilityEditableCollectionViewVisibilityCurrentSortDescriptionCurrentGroupDescriptionCurrentGroupFieldNameCurrentSortFieldNameCurrentSortDirectionDeleteGroupDeleteSortAddGroupAddSortTypeSystem.GlobalizationCultureInfoConvertConvertBackIServiceProviderProvideValueDictionary`2cachedImagesimagesGetImagePathByGroupNameget_ColumnNameset_ColumnName<ColumnName>k__BackingFieldColumnNameget_Invertset_Invert<Invert>k__BackingFieldInvertSystem.Windows.Data.IValueConverter.ConvertSystem.Windows.Data.IValueConverter.ConvertBackNameValuePropertyTextValuePropertyget_NameValueset_NameValueget_TextValueset_TextValueNameValueTextValueViewProperty.cctorGridViewBaseget_Viewset_ViewColumnChooserControlget_ColunmChooserControlset_ColunmChooserControlOnApplyTemplate<ColunmChooserControl>k__BackingFieldViewColunmChooserControlcolumnChooserControlDevExpress.Xpf.Core.IColumnChooser.ShowShowDevExpress.Xpf.Core.IColumnChooser.HideHideIColumnChooserStateDevExpress.Xpf.Core.IColumnChooser.ApplyStateApplyStateDevExpress.Xpf.Core.IColumnChooser.SaveStateSaveStateDevExpress.Xpf.Core.IColumnChooser.DestroyDestroyUIElementDevExpress.Xpf.Core.IColumnChooser.get_TopContainerget_TopContainerDevExpress.Xpf.Core.IColumnChooserFactory.CreateCreateDevExpress.Xpf.Core.IColumnChooser.TopContainerGridControlPropertyget_IsGridBorderVisibleget_UseGridControlWrapperAsDataContextset_UseGridControlWrapperAsDataContextThemeChangedRoutedEventArgsThemeNameChangedClearGridControlget_GridControlset_GridControlGetModuleDataContextFindGridDependencyPropertyChangedEventArgsRaiseIsPopupContentInvisibleChangedCanLeave<UseGridControlWrapperAsDataContext>k__BackingFieldIsGridBorderVisibleUseGridControlWrapperAsDataContextgridPropertyChangedEventHandlerPropertyChangedadd_PropertyChangedremove_PropertyChangedOnPropertyChangedDevExpress.Xpf.Printing.v13.1DevExpress.Xpf.PrintingLinkPreviewModelIPrintableControlCreateLinkPreviewModelDXTabControlget_DXTabControlShowPrintPreviewShowPrintPreviewInNewTabDXTabItemDisposePrintPreviewTabContentShowPreviewInNewTabUri_resourceSourceget_ResourceSourceset_ResourceSourceResourceSourcedictionaryget_CountSetValueGetValueTryGetMemberTrySetMemberNotifyPropertyChangedCountDynamicMetaObjectFallbackSetMemberFallbackGetMembercolumnNametypeIndexget_TypeIndexset_TypeIndexRaisePropertyChangedTypeIndexemployeesget_Employees<CollectionView>k__BackingFieldvalue__DefaultCustomget_FirstNameset_FirstNameget_LastNameset_LastNameget_Addressset_Addressget_PhoneNumberset_PhoneNumberget_Emailset_EmailErrorInfoDevExpress.XtraEditors.DXErrorProvider.IDXDataErrorInfo.GetPropertyErrorGetPropertyErrorDevExpress.XtraEditors.DXErrorProvider.IDXDataErrorInfo.GetErrorGetErrorIsStringEmptyIsEmailCorrectErrorTypeSetErrorInfo<FirstName>k__BackingField<LastName>k__BackingField<Address>k__BackingField<PhoneNumber>k__BackingField<Email>k__BackingFieldFirstNameLastNameAddressPhoneNumberEmailget_ClearRecycleBinset_ClearRecycleBinget_DataSourceset_DataSourceget_RecycleBinSourceset_RecycleBinSourceOnClearRecycleBin<ClearRecycleBin>k__BackingField<DataSource>k__BackingField<RecycleBinSource>k__BackingFieldClearRecycleBinDataSourceRecycleBinSourceIsItemVisiblePropertyOnIsItemVisibleChangedget_IsItemVisibleset_IsItemVisibleOnIsItemVisibleChangedCoreIsItemVisibleRandomrndget_Invoicesget_ProductsDateTimeGetDateDecimalGetCountCreateInvoicesDataTableCreateProductsDataTableInvoicesProductsget_Countryset_Countryget_Cityset_Cityget_OrderDateset_OrderDateget_UnitPriceset_UnitPriceget_Regionset_Region<Country>k__BackingField<City>k__BackingField<OrderDate>k__BackingField<UnitPrice>k__BackingField<Region>k__BackingFieldCityOrderDateUnitPriceRegionget_ProductNameset_ProductNameset_Countget_OrderSumset_OrderSumget_QuantityPerUnitset_QuantityPerUnit<ProductName>k__BackingField<Count>k__BackingField<OrderSum>k__BackingField<QuantityPerUnit>k__BackingFieldProductNameOrderSumQuantityPerUnitget_SalesByYearReportset_SalesByYearReportget_SalesByMonthReportset_SalesByMonthReportget_ReportTypesactualSalesReportget_ActualSalesReportset_ActualSalesReportreportTypeIndexget_ReportTypeIndexset_ReportTypeIndexallowCascadeUpdateget_AllowCascadeUpdateset_AllowCascadeUpdateUpdateActualSalesReport<SalesByYearReport>k__BackingField<SalesByMonthReport>k__BackingFieldSalesByYearReportSalesByMonthReportReportTypesActualSalesReportReportTypeIndexAllowCascadeUpdateDataTemplatesmallValueTemplatelargeValueTemplateSelectTemplatedefaultDisplayModeSummariesget_DefaultDisplayModeSummariesset_DefaultDisplayModeSummariesalignByColumnsDisplayModeSummariesget_AlignByColumnsDisplayModeSummariesset_AlignByColumnsDisplayModeSummariesalignSummariesByColumnsget_AlignSummariesByColumnsset_AlignSummariesByColumnssummarySourceget_SummarySourceset_SummarySourcecityColumnVisibleIndexget_CityColumnVisibleIndexset_CityColumnVisibleIndexcityColumnGroupIndexget_CityColumnGroupIndexset_CityColumnGroupIndexUpdateSummarySourceUpdateCityColumnDefaultDisplayModeSummariesAlignByColumnsDisplayModeSummariesAlignSummariesByColumnsSummarySourceCityColumnVisibleIndexCityColumnGroupIndexhitTestIndicatorStateVisitRowIndicatorColumnBaseVisitTotalSummaryGridTotalSummaryDataVisitFixedTotalSummaryGridColumnDataVisitGroupValueGridGroupSummaryDataVisitGroupSummaryget_Nameset_Nameget_Textset_Text<Name>k__BackingField<Text>k__BackingFieldNameTextinvoicesNewget_InvoicesNewInvoicesNewget_Valueset_Valueget_Descriptionset_Description<Value>k__BackingField<Description>k__BackingFieldValueDescriptionpropertyNamepropertyTypeisReadOnlylistindexCanResetValueget_IsReadOnlyget_ComponentTypeget_PropertyTypeResetValueShouldSerializeValueIsReadOnlyComponentTypePropertyTypeget_Rowset_Rowget_Columnset_ColumnEqualsGetHashCode<Row>k__BackingField<Column>k__BackingFieldRowColumnBaseColumnCountrecordCountcolumnCountfValuesPropertyDescriptorCollectioncolumnCollectionSetPropertyValueGetPropertyValueGetPropertyNameGetFullPropertyNameGetPropertyTypeGetPseudoRandomValueget_RecordCountset_RecordCountget_ColumnCountset_ColumnCountCreateColumnCollectionDevExpress.Data.Browsing.ITypedList.GetItemPropertiesGetItemPropertiesDevExpress.Data.Browsing.ITypedList.GetListNameGetListNameget_IsSynchronizedget_SyncRootget_IsFixedSizeIEnumeratorGetEnumeratorArrayCopyToAddContainsIndexOfInsertRemoveRemoveAtSystem.Collections.IList.get_Itemget_ItemSystem.Collections.IList.set_Itemset_ItemRecordCountColumnCountIsSynchronizedSyncRootIsFixedSizeSystem.Collections.IList.ItemCpuUsagePropertyMemoryUsageColorPropertyRevealProgressPropertyget_CpuUsageset_CpuUsageSystem.Windows.MediaColorget_MemoryUsageColorset_MemoryUsageColorget_RevealProgressset_RevealProgressCpuUsageMemoryUsageColorRevealProgresspidnamememoryUsagecpuUsageisNewget_IsDeletingset_IsDeletingget_PIDset_PIDget_MemoryUsageset_MemoryUsageOnChangedget_Ownerset_Owner<IsDeleting>k__BackingField<Owner>k__BackingFieldIsDeletingPIDMemoryUsageOwnerDefaultUpdateIntervalDefaultUpdateDurationDefaultProcessMaxCountDefaultProcessMinCountProcessNamesUpdateIntervalPropertyProcessMaxCountPropertyProcessMinCountPropertyUpdateModePropertyUpdateHistoryIntervalPropertySLDependencyPropertyChangedEventArgsOnUpdateIntervalChangedprocessesSystem.Windows.ThreadingDispatcherTimerupdateTimerrealProcessCountmodulerandomanimationElementsget_Processesget_UpdateTimerOnTimerTickUpdateProcessListGetUpdateTypeget_CanAddRemoveget_CanUpdatePerformRandomUpdateRemoveProcessSystem.Windows.Media.AnimationStoryboardGetStoryboardBeginStoryboardModifyMemoryUsageModifyCpuUsageGetRandomProcesscounterAddProcessInitializeStartStopGetAnimationElementget_UpdateIntervalset_UpdateIntervalget_UpdateHistoryIntervalset_UpdateHistoryIntervalget_ProcessMaxCountset_ProcessMaxCountget_ProcessMinCountset_ProcessMinCountget_UpdateModeset_UpdateModeProcessesUpdateTimerCanAddRemoveCanUpdateUpdateIntervalUpdateHistoryIntervalProcessMaxCountProcessMinCountUpdateModeAddRemoveUpdateAddRemoveUpdateChangeInvokeIAsyncResultAsyncCallbackBeginInvokeEndInvokeget_ProcToRemoveset_ProcToRemoveget_ProcGeneratorset_ProcGeneratorOnStoryboardCompleted<ProcToRemove>k__BackingField<ProcGenerator>k__BackingFieldProcToRemoveProcGeneratorset_EmployeesshowOrdersColumnHeadersCoreget_ShowOrdersColumnHeadersset_ShowOrdersColumnHeadersshowOrdersSummariesCoreget_ShowOrdersSummariesset_ShowOrdersSummariesshowCustomersColumnHeadersCoreget_ShowCustomersColumnHeadersset_ShowCustomersColumnHeadersshowCustomersSummariesCoreget_ShowCustomersSummariesset_ShowCustomersSummariesshowInvoicesColumnHeadersCoreget_ShowInvoicesColumnHeadersset_ShowInvoicesColumnHeadersshowInvoicesSummariesCoreget_ShowInvoicesSummariesset_ShowInvoicesSummariesshowDetailButtonsCoreget_ShowDetailButtonsset_ShowDetailButtons<Employees>k__BackingFieldShowOrdersColumnHeadersShowOrdersSummariesShowCustomersColumnHeadersShowCustomersSummariesShowInvoicesColumnHeadersShowInvoicesSummariesShowDetailButtonsDevExpress.Xpf.DemoBase.Web.ServicesNWindDomainContextdomainContextPropertyChangedEventArgsdomainContext_PropertyChangedIEnumerable`1DevExpress.Xpf.DemoBase.Webget_ItemsSourceLoadOperationRaiseSourceLoadedEventHandlerSourceLoadedadd_SourceLoadedremove_SourceLoadedDevExpress.Xpf.Grid.v13.1.ExtensionsLazyLoadingConverter`3get_OrdersLoadingConverterset_OrdersLoadingConverterOrder_Details_Extendedget_OrderDetailsLoadingConverterset_OrderDetailsLoadingConverterisLoadingCoreget_IsLoadingset_IsLoading<OrdersLoadingConverter>k__BackingField<OrderDetailsLoadingConverter>k__BackingFieldItemsSourceOrdersLoadingConverterOrderDetailsLoadingConverterIsLoadingKeyPropertyValuePropertyOnKeyChangedget_Keyset_KeyThemeManager_ApplicationThemeChangedUpdateValueKeyget_Minset_Minget_Maxset_MaxToString<Min>k__BackingField<Max>k__BackingFieldMinMaxproductsDictionaryFillProductsDictionaryImageSourceget_ImageCacheset_ImageCacheDevExpress.Xpf.Grid.TreeListTreeListRowDataSelect<ImageCache>k__BackingFieldImageCacheget_Contentset_Contentget_DisplayNameset_DisplayName<Content>k__BackingField<DisplayName>k__BackingFieldContentDisplayNamecolumnInfoFieldNameget_ColumnInfoFieldNameset_ColumnInfoFieldNameDevExpress.Xpf.Core.CommandsDelegateCommand`1get_ChangeFieldNameCommandset_ChangeFieldNameCommandget_CanExecuteCommandOnChangeFieldName<ChangeFieldNameCommand>k__BackingFieldColumnInfoFieldNameChangeFieldNameCommandCanExecuteCommandCountPropertyorderDataGeneratorGetListorderDataListSourceisGeneratingOrderDatagenerateOrderDataProgressValuecountItemsselectedCountItemisDesignTimeDispatcheruiDispatherorderDataGenerator_GenerateOrderDataStartedorderDataGenerator_GenerateOrderDataCompletedorderDataGenerator_GenerateOrderDataProgressRecreateListSourceget_ListSourceset_ListSourceget_Categoriesget_IsGeneratingOrderDataset_IsGeneratingOrderDataget_GenerateOrderDataProgressValueset_GenerateOrderDataProgressValueget_CountItemsset_CountItemsget_SelectedCountItemset_SelectedCountItemSetIsDesignTimeListSourceIsGeneratingOrderDataGenerateOrderDataProgressValueCountItemsSelectedCountItemDevExpress.UtilsDefaultBooleanallowPrintDetailsCoreprintAllDetailsCoreprintOrdersColumnHeadersCoreprintOrdersSummariesCoreprintCustomersColumnHeadersCoreprintCustomersSummariesCoreprintInvoicesColumnHeadersCoreprintInvoicesSummariesCoreprintEmployeesColumnHeadersCoreprintEmployeesSummariesCoreget_AllowPrintDetailsset_AllowPrintDetailsget_PrintAllDetailsset_PrintAllDetailsget_PrintOrdersColumnHeadersset_PrintOrdersColumnHeadersget_PrintOrdersSummariesset_PrintOrdersSummariesget_PrintCustomersColumnHeadersset_PrintCustomersColumnHeadersget_PrintCustomersSummariesset_PrintCustomersSummariesget_PrintInvoicesColumnHeadersset_PrintInvoicesColumnHeadersget_PrintInvoicesSummariesset_PrintInvoicesSummariesget_PrintEmployeesColumnHeadersset_PrintEmployeesColumnHeadersget_PrintEmployeesSummariesset_PrintEmployeesSummariesAllowPrintDetailsPrintAllDetailsPrintOrdersColumnHeadersPrintOrdersSummariesPrintCustomersColumnHeadersPrintCustomersSummariesPrintInvoicesColumnHeadersPrintInvoicesSummariesPrintEmployeesColumnHeadersPrintEmployeesSummariesisUseExtendedDataQueryget_IsUseExtendedDataQueryset_IsUseExtendedDataQueryIsUseExtendedDataQueryCommandPropertyhandlerSLRoutedEventroutedEventOnAttachedUpdateSubsrcribtionSLRoutedEventArgsOnRaiseEventget_RoutedEventset_RoutedEventget_Commandset_CommandRoutedEventCommandget_Senderset_Senderget_Argsset_Args<Sender>k__BackingField<Args>k__BackingFieldSenderArgsget_HeaderCaptionset_HeaderCaptionIList`1GridColumnCollectionCreateCollection<HeaderCaption>k__BackingFieldHeaderCaptionselectAllItemsCommandcolumnsDataViewBaseviewget_Columnsset_Columnsget_SelectAllItemsCommandset_SelectAllItemsCommandget_ChangeAllowSearchPanelCommandset_ChangeAllowSearchPanelCommandget_ChangeSearchPanelVisibilityCommandset_ChangeSearchPanelVisibilityCommandget_PopulateColumnsCommandset_PopulateColumnsCommandChangeSelectionActionget_SelectAllActionCanUpdateAllowSearchPanelPopulateColumnsChangeSearchPanelVisibilityUpdateAllowSearchPanel<ChangeAllowSearchPanelCommand>k__BackingField<ChangeSearchPanelVisibilityCommand>k__BackingField<PopulateColumnsCommand>k__BackingFieldColumnsSelectAllItemsCommandChangeAllowSearchPanelCommandChangeSearchPanelVisibilityCommandPopulateColumnsCommandSelectAllActiondescriptionSystem.IOStreamGetStreamresourcePathMemoryStreamstreamget_TotalCellTemplateset_TotalCellTemplate<TotalCellTemplate>k__BackingFieldTotalCellTemplateValidateget_ErrorTextIsValueValidErrorText_isValid_errorContent_validResultget_IsValidget_ErrorContentget_ValidResultIsValidErrorContentValidResultselectedDefinitionget_SelectedDefinitionset_SelectedDefinitioncontrolDefinitionsget_ControlDefinitionsset_ControlDefinitionsSelectedDefinitionControlDefinitionswcfSCServiceget_WcfSCServiceset_WcfSCServiceWcfSCServiceGuidget_Oidset_Oidget_Idset_Idget_Subjectset_Subjectget_ModifiedOnset_ModifiedOnget_CreatedOnset_CreatedOnget_TechnologyNameset_TechnologyNameget_Urgentset_Urgentget_Statusset_StatusSession<Oid>k__BackingField<Id>k__BackingField<Subject>k__BackingField<ModifiedOn>k__BackingField<CreatedOn>k__BackingField<TechnologyName>k__BackingField<Urgent>k__BackingField<Status>k__BackingFieldOidIdSubjectModifiedOnCreatedOnTechnologyNameUrgentStatusSelectedTabIndexPropertySetSelectedTabIndexGetSelectedTabIndexGridColumncolEMailCheckEditcbShowSearchPanelListBoxEditlbShowModelbSearchModecbShowFindButtoncbShowCloseButtonGroupFramegroupFrameColumnsComboBoxEditcolumnsListmasterViewRaiseActualLoadedRoutedEventArgsnewTabButton_ClickTabControlTabHiddenEventArgstabControl_TabHiddenAllowPrintDetailsCheckEditPrintAllDetailsCheckEditnewTabButtontabControlDataControlDetailDescriptorMDOrdersDescriptorMDInvoicesDescriptorMDCustomersDescriptorResolveTypeFromNameResolveNameFromTypeDataServiceQuery`1get_SCIssuesDemo_SCIssuesDemoAddToSCIssuesDemoCreateSCIssuesDemo_Oidget_IDset_ID_ID_SubjectNullable`1_ModifiedOn_CreatedOn_ProductName_TechnologyName_Urgent_StatusIDget_NavigationStylesNavigationStylesDataSourcePropertyget_FieldNameset_FieldNameget_CellTemplateset_CellTemplateget_Widthset_Widthget_FixedWidthset_FixedWidthDevExpress.Xpf.Editors.SettingsBaseEditSettingsget_EditSettingsset_EditSettingsget_Headerset_Header<FieldName>k__BackingField<CellTemplate>k__BackingField<Width>k__BackingField<FixedWidth>k__BackingField<EditSettings>k__BackingField<Header>k__BackingFieldFieldNameCellTemplateWidthFixedWidthEditSettingsHeaderset_InvoicesCreateOrdersForMasterDetailViewCreateOrdersCreateInvoices<Invoices>k__BackingFieldget_Ordersset_OrdersCreateCustomersForMaterDetailViewCreateCustomers<Orders>k__BackingFieldcustomersCoreget_CustomersordersCoremdcustomersCoreget_MDCustomersmdordersCoreget_MDOrderschartSourceCoreget_ChartSourceCreateChartSourceget_EMailset_EMailCreateMasterDetailSourceCreateEmbeddedViewSourceDevExpress.Xpf.DemoBase.DataClassesEmployeeget_ParentIdset_ParentId<EMail>k__BackingField<ParentId>k__BackingFieldMDCustomersMDOrdersChartSourceEMailParentIdget_ArgumentMemberset_ArgumentMemberget_ValueMemberset_ValueMember<ArgumentMember>k__BackingField<ValueMember>k__BackingFieldArgumentMemberValueMemberResolveemployeeOrdersComboBoxItemsSourcePropertyComboBoxItemsSourceChangedget_ComboBoxItemsSourceset_ComboBoxItemsSourceselectButtonClickHandleradd_SelectButtonClickremove_SelectButtonClickunselectButtonClickHandleradd_UnselectButtonClickremove_UnselectButtonClickreselectButtonClickHandleradd_ReselectButtonClickremove_ReselectButtonClickOnComboBoxItemsSourceChangedRaiseButtonClickget_ComboBoxDisplayMemberset_ComboBoxDisplayMemberget_ComboBoxValueMemberset_ComboBoxValueMemberget_ComboBoxSelectButtonClickInClassUnselectButtonClickInClassReselectButtonClickInClassgroupBoxControlcomboBoxControlSelectButtonUnselectButtonReselectButtonComboBoxItemsSourceSelectButtonClickUnselectButtonClickReselectButtonClickComboBoxDisplayMemberComboBoxValueMemberComboBoxcustomerNamescategoryDataproductDataSystem.Runtime.CompilerServicesIsVolatilecountcachedOrdersExtractCustomerNamesExtractCategoryDataListExtractProductDataListFindCategoryGenerateOrdersOnGenerateOrderDataStartedOnGenerateOrderDataCompletedOnGenerateOrderDataProgressGetOrdersGetCategoriesGenerateOrderDataStartedadd_GenerateOrderDataStartedremove_GenerateOrderDataStartedGenerateOrderDataCompletedadd_GenerateOrderDataCompletedremove_GenerateOrderDataCompletedEventHandler`1GenerateOrderDataProgressadd_GenerateOrderDataProgressremove_GenerateOrderDataProgressprogressget_ProgressProgressget_Pictureset_PictureCompareTo<Picture>k__BackingFieldPictureget_Categoryset_Categoryget_Priceset_Price<Category>k__BackingField<Price>k__BackingFieldPriceget_OrderIdset_OrderIdget_IsReadyset_IsReadyget_CustomerNameset_CustomerNameget_ProductCategoryset_ProductCategoryget_Quantityset_Quantity<OrderId>k__BackingField<IsReady>k__BackingField<CustomerName>k__BackingField<ProductCategory>k__BackingField<Quantity>k__BackingFieldOrderIdIsReadyCustomerNameProductCategoryQuantityget_UsersDevExpress.DataSummaryItemTypeget_SummaryItemTypesget_SummaryFieldNamesUsersSummaryItemTypesSummaryFieldNamesLowBelowNormalNormalAboveNormalHighfOidfSubjectfFromfSentfHasAttachmentfSizefHoursActivefPriorityfUserIdget_OIDset_OIDget_Fromset_Fromget_Sentset_Sentget_HasAttachmentset_HasAttachmentget_Sizeset_Sizeget_HoursActiveset_HoursActiveget_Priorityset_Priorityget_UserIdset_UserIdOIDFromSentHasAttachmentSizeHoursActiveUserIdSubjectsGetSubjectGetFromGetSentDateGetSizeGetHasAttachmentGetPriorityGetHoursActiveGetFromIdCreateNewObjectCreateOutlookDataCreateOutlookDataTableCreateOutlookArrayListget_CurrentCurrentDomainClientEntitySet`1get_SCIssuesDemosEntityQuery`1GetSCIssuesDemoQueryGetSCIssuesDemoByTechnologyQueryInvokeOperation`1Action`1GetSCIssuesDemoByTechnologyExtendedDataGetSCIssuesDemoExtendedDataCreateEntityContainerSCIssuesDemosBeginGetSCIssuesDemoQueryResult`1EndGetSCIssuesDemoBeginGetSCIssuesDemoByTechnologyEndGetSCIssuesDemoByTechnologyBeginGetSCIssuesDemoByTechnologyExtendedDataEndGetSCIssuesDemoByTechnologyExtendedDataBeginGetSCIssuesDemoExtendedDataEndGetSCIssuesDemoExtendedData_createdOn_id_modifiedOn_oid_productName_status_subject_technologyName_urgentGetIdentityGetColumnTypeGetSalesByYearDataItemCreateStoryboardget_Storyboardset_Storyboard<Storyboard>k__BackingFieldget_LinkPreviewModelset_LinkPreviewModelLinkPreviewModelPropertyget_TabNameset_TabNameTabNamePropertyOnLinkPreviewModelChangedOnTabNameChangedProgressBarTextBlocktabNameTextBlockTabNameOnListChangedAddNewget_AllowEditget_AllowNewget_AllowRemoveListChangedEventHandlerlistChangedHandleradd_ListChangedremove_ListChangedListChangedEventArgsOnRemoveCompleteOnInsertCompleteAddIndexApplySortFindget_IsSortedRemoveIndexRemoveSortget_SortDirectionget_SortPropertyget_SupportsChangeNotificationget_SupportsSearchingget_SupportsSortingAllowEditAllowNewAllowRemoveListChangedIsSortedSortDirectionSortPropertySupportsChangeNotificationSupportsSearchingSupportsSortingfIDfNamefDatefPercentCompletefCompletefNotefRelationCollectionget_TaskNameset_TaskNameget_DueDateset_DueDateget_Completeset_Completeget_PercentCompleteset_PercentCompleteget_Noteset_Noteget_CategoryNameGetCategoryByTaskTaskNameDueDateCompletePercentCompleteNoteCategoryNameset_CategoryNameCompletePropertyPercentCompletePropertyfTaskfCategoryMaxTasksGetTasksMaxCategoriesfTasksfCategoriesGetTasksWithCategoriesHasCategoryfGridAfterGroupingadd_AfterGroupingremove_AfterGroupingGrid_Groupingget_CategoryColumnget_IsCategoryGroupingSetDataSourceCategoryColumnIsCategoryGroupingdataSourceget_Flagset_Flag<Flag>k__BackingFieldFlagSetupXpoLayerskipMemoryLeaksCheckModulesskipRunModulesCheckMemoryLeaksCanRunModulegridViewcolPrioritycolHoursActivecolHasAttachmentshowBandsPanelCheckEditallowChangeColumnParentCheckEditallowChangeBandParentCheckEditshowBandsInCustomizationFormCheckEditallowBandMovingCheckEditallowBandResizingCheckEditautoWidthCheckEditallowPerPixelScrollingCheckEditshowAutoFilterRowCheckEditallowMovingCheckEditallowResizingCheckEditFirstNamesLastNamesGridColumnDataEventArgsgrid_CustomUnboundColumnDataCreateNewColBtn_ClickCreateNewColumnGetDefaultValueUnboundColumnTypeGetNewColunUnboundTypeValidationEventArgsFieldNameBox_ValidateIsValidFieldNameoptionsPanelTextEditFieldNameBoxTypeBoxSpinEditDefaultValueBoxSpinDefaultValueBoxTextDateEditDefaultValueBoxDateDefaultValueBoxCheckCreateNewColBtnSelectCellsAssignDataSourcesumCustomSummaryEventArgsgrid_CustomSummaryGridSelectionChangedEventArgsTableView_SelectionChangedEditValueChangedEventArgsCheckEdit_EditValueChangedButton_ClickButton_Click_1KeyValuePair`2GridCellComparecheckEditnavigatorcolCountryColumnChooserTypePropertyOnColumnChooserTypeChangedget_ColumnChooserTypeset_ColumnChooserTypeKeyboardFocusChangedEventArgscolumnChooser_PreviewGotKeyboardFocusColumnChooserTypeChangedshowHideButton_ToggleUpdateToggleButtonContentcustomColumnChooserExpander_ExpandedcustomColumnChooserExpander_CollapsedSystem.Windows.Controls.PrimitivesToggleButtonshowHideButtoncolumnChooserTypesListBoxDemoExpandercustomColumnChooserExpandercolumnChooserCellMenuInfoPropertyget_DeleteRowset_DeleteRowget_CopyCellInfoset_CopyCellInfoget_CopyRowInfoset_CopyRowInfoGridCellMenuInfoget_CellMenuInfoset_CellMenuInfoGridMenuEventArgsTableView_ShowGridMenuOnDeleteRowOnCopyCellInfoOnCopyRowInfomaxmincustomItemCoreget_CustomItemGetCustomItemCustomSummaryExistEventArgsgrid_CustomSummaryExistsDevExpress.Xpf.BarsItemClickEventArgscustomSummaryMenuItem_CheckedChangedSetClibboardTextGetCellTextContextMenuModulecolumnMenuRemoveItemCheckcolumnMenuAddItemCheckgroupPanelMenuRemoveItemCheckgroupPanelMenuAddItemChecktotalMenuRemoveItemCheckBarManagerbarManagerBarButtonItemdeleteRowItemcolUnitPriceBarCheckItemallowSortingItemallowGroupingItemallowAllSortingItemallowAllGroupingItemcustomSummaryMenuItem<DeleteRow>k__BackingField<CopyCellInfo>k__BackingField<CopyRowInfo>k__BackingFieldDeleteRowCopyCellInfoCopyRowInfoCellMenuInfoCustomItemget_ViewModelPopulateColumnsAndSummariesItemsSourceChangedEventArgsgrid_ItemsSourceChangedreportTypesListViewModelDetailContentCheckMultiView_BeforeModuleDisappearmultiViewListBoxget_AllowRtlmultiselectionCheckEditallowScrollingCheckEditemptyRecycleBinButtonrecycleBinListGridDragDropManagergridDragDropManagerAllowRtlanimationTypeComboBox_SelectionChangedanimationTypeComboBoxApplyFilterButtonClickFilterEditorEventArgsTableView_FilterEditorCreatedshowGroupCommandsIconshowOperandTypeIconshowToolTipsApplyFilterButtonDevExpress.Xpf.Editors.FilteringfilterEditorfilterGridcolIDcolProductcolQuantitycolTotalshowFilterPanelModeListBox_SelectionChangedUpdateShowFilterPanelModeallowFilteringCheckEditallowFilterEditorallowMRUFilterListCheckEditallowColumnMRUFilterListCheckEditshowFilterPanelModeListBoximmediateUpdateCountryColumnFilterCheckEditimmediateUpdateQuantityColumnFilterCheckEditClosePopupRadioButtonList_SelectionChangedIsOpenedPopupget_ClosePopupCommandset_ClosePopupCommand<ClosePopupCommand>k__BackingFieldClosePopupCommandviewsListBox_SelectionChangedGroupByCountryThenCityGroupByCountryThenCityThenOrderDateGroupByCityThenOrderDateClearGroupinggroupList_SelectionChangedallowFixedGroupsCheckBoxgroupListgroupModeList_SelectionChangedSetGroupIntervalDevExpress.XtraGridColumnGroupIntervalSetIntervalColumnSortModeSetSortModeCustomColumnSortEventArgsgrid_CustomColumnGroupCustomGroupDisplayTextEventArgsview_CustomGroupDisplayTextview_ShowGridMenuSetContextMenuItemCommandgroupModeListcolOrderDatesummaryItemTemplateComboBox_SelectionChangedalignByColumnsCheckEditsummaryItemTemplateComboBoxcolCityget_TableViewhitInfoListPointstartPositionget_AllowShowHitInfoset_AllowShowHitInfoAllowShowHitInfoPropertygrid_LoadedMouseEventArgsgrid_MouseEnterMouseLeaveDependencyPropertyChangeHandlergrid_MouseMoveGridViewHitTestVisitorBaseCreateDemoHitTestVisitorGridViewHitInfoBaseGetHitInfoGetRowHandleDescriptionAddHitInfoRemoveHitInfoAddTotalSummaryInfoAddFixedTotalSummaryInfoAddGroupValueInfoAddGroupSummaryInfohitInfoPopup_OpenedSetPopupIsOpenshowHitInfoCheckEditPopupBasehitInfoPopupItemsControlhitIfoItemsControlAllowShowHitInfoeditorShowModeCombobox_EditValueChangedbooleanColumnEditorListBox_EditValueChangededitorButtonShowModeListBox_EditValueChangedUpdateEditorButtonShowModeUpdateEditorShowModeGridCellValidationEventArgscolHoursActive_ValidatealternativeDisplayTemplateCheckBox_CheckedalternativeDisplayTemplateCheckBox_UncheckedalternativeEditTemplateCheckBox_CheckedalternativeEditTemplateCheckBox_UncheckedGetIsActivatingKeyEventArgsTextEditSettings_GetIsActivatingKeyProcessActivatingKeyEventArgsTextEditSettings_ProcessActivatingKeyeditorShowModeComboboxeditorButtonShowModeListBoxbooleanColumnEditorListBoxautoCompleteCheckBoximmediatePopupCheckBoxalternativeDisplayTemplateCheckBoxalternativeEditTemplateCheckBoxcolIdcolUserIdDevExpress.Xpf.Grid.LookUpLookUpEditSettingsControlTemplateCreateLookUpEditSettingsRaiseModuleAppearShowLookUpchkImmediatePopupchkAllowAutoCompletevListClearCursorPropertyCreateEditSettingssetRowColumnCountButton_ClickCustomBestFitEventArgsview_CustomBestFitrowCountListBoxcolumnCountListBoxsetRowColumnCountButtongeneratorCheckBox_CheckedCheckBox_UncheckedmaxCountSlider_ValueChangedupdateModeList_EditValueChangedchkAllowUpdatingupdateModeListmemoryUsageCheckBoxcpuUsageCheckBoxnewRowCheckBoxdeleteRowCheckBoxget_NWindset_NWindget_GenericXamlNameget_NewItemRowIDcontrolProcessNewValueEventArgslookUpEdit_ProcessNewValueCloseAddNewRecordHandlertxtDisplayMembertxtValueMemberchProcessNewValuelookUpEdit<NWind>k__BackingFieldNWindGenericXamlNameNewItemRowIDPART_Editor_DefaultButtonClickFocusedRowHandleChangedEventArgsTableView_FocusedRowChangedlastDescriptionUpdateDescriptionShowingEditorEventArgsTableView_ShowingEditorget_ButtonEditClickCommandset_ButtonEditClickCommandRichTextBoxdescriptionRichTextBox<ButtonEditClickCommand>k__BackingFieldButtonEditClickCommandgcInitButtonCaptiongroupButton_Clickgc_AfterGroupinggroupButtonView_ShowGridMenuNWindData`1dataTableFromGridget_DataTableFromGridFillComboBoxesRunActionSelectProductsFilterSelectRangeFilterSelectActionUnselectActionSelectProductsButtonClickUnselectProductsButtonClickReselectProductsButtonClickSelectPriceButtonClickUnselectPriceButtonClickReselectPriceButtonClickUpdateSummarygridView_SelectionChangedEnableMultiSelectCheckEditCheckedEnableMultiSelectCheckEditUncheckedSetMultiSelectModeCurrentItemChangedEventArgsgrid_CurrentItemChangedenableMultiSelectCheckEditProductsMultiSelectionOptionsControlPriceMultiSelectionOptionsControlSelectionRowsListBoxdefaultViewDataTableFromGridnewRowIDInitNewRowEventArgsview_InitNewRownewItemRowPositionChangedcolOrderIDcolProductIDcolDiscountSystem.Windows.Controls.DomainServicesDomainDataSourceDevExpress.Xpf.Editors.DataPagerDataPagerpagerDevExpress.Xpf.Core.ServerModeLinqToObjectsInstantFeedbackDataSourcepLinqInstantSourcecolOrderIdcolCustomerNamecolProductCategorycolProductNamecolPricecolIsReadyTabControlSelectionChangedEventArgsTabControlSelectionChangedprintStyleChooser_SelectionChangedprintStyleChoosercountryColumncityColumnunitPriceColumntemplateNamesListBox_SelectionChangedtemplateNamesListBoxOnSendMailRowTemplateComboBox_SelectionChangedget_ShouldUseModifiedThemeCheckBoxrowTemplateComboBoxShouldUseModifiedThemecurrentLayoutStreamSerialization_LoadedSaveLayoutRestoreLayoutsaveLayoutButton_ClickrestoreLayoutButton_ClickloadSampleLayoutButton_ClicksaveLayoutButtonrestoreLayoutButtonlayoutSamplesComboBoxloadSampleLayoutButtoncolCompanyNamecolContactNamecolContactTitlecolAddressIsSelectedPropertySetIsSelectedGetIsSelectedget_CurrentSortOrderget_CurrentSummaryItemIndexsortModeList_SelectionChangedsortModeListcolCountcolOrderSumCurrentSortOrderCurrentSummaryItemIndexlbSummary_SelectedIndexChangedallowFixedGroupsCheckEditallowCascadeUpdateCheckEditallowScrollingAnimationallowSortingCheckEditallowGroupingCheckEditallowBestFitCheckEditshowIndicatorCheckEditshowVerticalLinesCheckEditshowHorizontalLinesCheckEditNavigationStyleComboBoxlbSummarybtnTotalSummaryEditor_ClickbtnFixedTotalSummaryEditor_ClickcbTotalSummaryPanelsContextMenuEndbledcbShowFootercbShowFixedTotalSummarybtnTotalSummaryEditorbtnFixedTotalSummaryEditorchkEnableContextMenu_CheckedchkEnableContextMenu_UncheckedshowTreelLinesCheckEditchkEnableContextMenutreeListshowExpressionEditorButton_ClickshowExpressionEditorButtoncolDiscountAmountcolTotalScaleOrderDetailsdataViewGetSubTotalGridRowValidationEventArgsview_ValidateRowcolUnitPrice_ValidatecolQuantity_ValidatecolDiscount_ValidateDoValidationvalidationComboBox_SelectionChangedUpdateErrorsUpdateRowErrorsUpdateColumnErrorCellValueChangedEventArgsview_CellUpdatedRowEventArgsview_RowCanceledGetRowunitPriceConditionListBoxquantityConditionListBoxdiscountConditionListBoxcolQuantityPriceviewModel_PropertyChangedfilterDevExpress.Xpf.Core.v13.1.ExtensionsRiaInstantFeedbackDataSourceriaInstantSourcecolSubjectcolTechnologyNamecolStatuscolCreatedOncolUrgentLoadDataSourceSelectSourceFunc`1GetSourceTOnCompletedlistBoxEditCarsSliderControldurationSlideranimationEffectListBoxEditgridDataSourceListBoxEditUseExtendedDataQueryCheckEditWcfInstantFeedbackDataSourcewcfInstantSourceXPInstantFeedbackSourceinstantDSResolveSessionEventArgsinstantDS_DismissSessioninstantDS_ResolveSessionwaitIndicatorList_EditValueChangedwaitIndicatorListanimationStyleInitDemoGetDebugGetFixtureTypeForXBAPOrSLTestingvalueparameterfieldNametargetTypecultureserviceProvidergroupNamestateownersenderegridControlprintableControltabNametabItembinderresultSystem.Runtime.InteropServicesOutAttributeinfotargeterrorSuggestionfirstNamelastNameaddressphoneNumberemailstrerrorTexterrorTypedrangeitemcontainerrowHandleindicatorStatecolumnsummaryDatacolumnDatatextcomponentvalobjrowIndexcolumnIndexmaxValuedescsarrayfIndexresourceKeystoryboardpropertyobjectmethodcallbackloadOperationrowDataparamgridColumnsselectionargscultureInfoisValiderrorContentsessionelementserviceRoottypeNameclientTypeoidcustomerIDemployeeIDorderIDocnewOrderscountryNamedObjectcategoriesListgenerateCountstartFromotherlargeDataidrowCountserviceUridomainClienttechnologyNameextendedDataInfouserStateasyncStatebyMonthReportcolumnNameslistAccessorsresourceHolderresourceNamepddirkeyrelationCollectiondatecollectiontaskcategorymoduleTylemoduleTypeshouldSelectTopValuesxynewChooserTypeintervalsortModeitemNamerowHanlevalueMemberdisplayMemberitemsSourcecontentTemplatecloseFilterDelegateactionForRowsrowenabledrulerowViewtableNamegetQueryopSystem.Runtime.VersioningTargetFrameworkAttributeSystem.ReflectionAssemblyTitleAttributeAssemblyDescriptionAttributeAssemblyProductAttributeAssemblyTrademarkAttributeAssemblyConfigurationAttributeAssemblyCompanyAttributeAssemblyCopyrightAttributeAssemblyCultureAttributeProductIDAttributeComVisibleAttributeAssemblyVersionAttributeAssemblyFileVersionAttributeSystem.DiagnosticsDebuggableAttributeDebuggingModesCompilationRelaxationsAttributeRuntimeCompatibilityAttributeBooleanCompilerGeneratedAttributeset_DataContextFunc`2GroupDescriptionget_GroupDescriptionsCollection`1SortDescriptionCollectionget_SortDescriptionsSortDescriptionIEnumerator`1get_PropertyNameStringop_EqualityMoveNextIDisposableDisposeDebuggerNonUserCodeAttributeUriKindLoadComponentFindNameRuntimeTypeHandleGetTypeFromHandleUIPropertyMetadataDependencyPropertyManagerSLPropertyMetadataRegisterSLPropertyChangedCallbackMultiSelectModeInt32WaitIndicatorTypeNotSupportedExceptionReplaceConcatAssemblyGetExecutingAssemblyDevExpress.Xpf.Core.NativeImageHelperSystem.Windows.Media.ImagingBitmapImageCreateImageFromEmbeddedResourceNotImplementedExceptionContainsKeyToDoubleToBooleanShowSearchPanelModeget_HasValueFindModeDevExpress.Data.FilteringFilterConditionListBoxEditItemToLowerEnumeratorEmptyget_NowAddMonthsget_Monthget_DayDoubleToInt32MathRoundDefaultStyleKeyExtensionsSetDefaultStyleKeyPropertyMetadataPropertyChangedCallbackset_DefaultStyleKeyGetTemplateChildThemeChangedRoutedEventHandlerThemeManageradd_ActualApplicationThemeChangedremove_ActualApplicationThemeChangedDataControlBaseset_ShowBorderDemoModuleControlget_DemoModuleControlFindDemoContentget_IsPopupContentInvisibleHideColumnChooserCommitEditingDelegateCombineSystem.ThreadingInterlockedCompareExchangePrintableControlLinkLinkBaseset_ExportServiceUriItemCollectionget_ItemsPresentationFrameworkCollection`1DocumentPreviewDocumentPreviewBaseIDocumentPreviewModelset_Modelset_AllowHideset_SelectedItemget_LinkCreateDocumentResourceDictionaryset_Sourceset_ResourcesTryGetValueIsNullOrEmptyIFormatProviderParseget_InvariantCultureEmployeesWithPhotoDataCollectionViewSourceMoveCurrentToFirstop_InequalityTrimget_Lengthset_ErrorTextset_ErrorTypeSystem.LinqEnumerableCastVisualStateManagerGoToStateBinaryOperatorReferenceEqualsCriteriaOperatorRightOperandOperandValueBinaryOperatorTypeNextAddDaysop_ImplicitNWindDataop_MultiplyChangePropertyget_SummaryItemSummaryItemBaseget_SummaryTypeEditableDataObjectHitTestVisitorBaseStopHitTestingRowDataget_PostalCodeget_PhoneFormatAttributeStructLayoutAttributeLayoutKindget_TodayDevExpress.Data.MaskEnumHelperGetValuesFromArgbBrowsableAttributeFrameworkPropertyMetadataget_NewValueTimeSpanFromMillisecondsset_Intervaladd_Tickget_DispatcherDispatcherOperationget_IsCheckedTimelineadd_CompletedDevExpress.Xpf.UtilsDependencyPropertyExtensionsGetNamePropertyPathSetTargetPropertySetTargetBeginTimelineCollectionget_ChildrenDoubleAnimationUsingKeyFramesDoubleKeyFrameCollectionget_KeyFramesDoubleKeyFrameDoubleAnimationZeroDurationset_Durationset_To<.ctor>b__0dcFunc`3CS$<>9__CachedAnonymousMethodDelegate2<.ctor>b__1CS$<>9__CachedAnonymousMethodDelegate3get_CustomerIDGetCustomerOrdersQueryget_OrderIDGetOrderOrderDetailsExtendedQueryGetCustomersQueryLoadOperation`1Loadget_EntitiesOperationBaseget_HasErrorEnvironmentget_NewLineExceptionget_Errorget_MessageMessageBoxMessageBoxResultMessageBoxButtonMarkErrorAsHandledGridCellDataget_Gridget_RowDataDevExpress.Xpf.DataRowHandleget_RowHandleGetCellValueget_Resourcesget_TableMultiEditorsListPropertyDescriptorset_ColumnCollectionFieldDescriptionget_FieldDescriptionsget_EditorDisplayNameget_TemplateNameFontWeightsFontWeightget_Normalget_Boldadd_ApplicationThemeChangedDesignerPropertiesGetIsInDesignModeThemeget_ApplicationThemeget_Stylesget_ProductIDget_GroupName<orderDataGenerator_GenerateOrderDataStarted>b__0<orderDataGenerator_GenerateOrderDataCompleted>b__1<>c__DisplayClass3<>4__this<orderDataGenerator_GenerateOrderDataProgress>b__2get_RootVisualBehaviorget_AssociatedObjectRoutedEventsExtentionsRemoveHandlerAddHandlerExecuteBaseEditEditValueChangedEventBaseColumn<CreateCollection>b__0colCS$<>9__CachedAnonymousMethodDelegate1ReadOnlyObservableCollection`1DataViewCommandsBaseget_Commandsget_ShowSearchPanelget_HideSearchPanelset_AllowSearchPanelGetManifestResourceStreamTreeListLineStyleToDecimalop_GreaterThanOrEqualFormatExceptionTypeConverterAttributeop_GreaterThanop_LessThanop_LessThanOrEqualPersistentAttributeget_DefaultSessionKeyAttributeCodeFileAttributeRegisterAttachedDevExpress.DemoData.v13.1.CoreDevExpress.DemoData.HelpersUniversalUserControlDetailDescriptorBaseExpandMasterRowGetVisibleDetailTabControlTabShownEventArgsget_TabIndexSystem.CodeDom.CompilerGeneratedCodeAttributeset_ResolveNameset_ResolveTypeStringComparisonStartsWithGetTypeget_AssemblySubstringget_NamespaceMemberInfoCreateQueryAddObjectSystem.Data.Services.CommonEntitySetAttributeDataServiceKeyAttributeget_OrdersRelationsDictionaryICollection`1get_EmployeeIDset_CustomerIDset_EmployeeIDget_Freightset_Freightset_OrderIDget_RequiredDateset_RequiredDateget_ShipAddressset_ShipAddressget_ShipCityset_ShipCityget_ShipCountryset_ShipCountryget_ShipNameset_ShipNameget_ShippedDateset_ShippedDateget_ShipPostalCodeset_ShipPostalCodeget_ShipRegionset_ShipRegionget_ShipViaset_ShipVia<>c__DisplayClass1dictCS$<>8__locals2customer<CreateCustomersForMaterDetailView>b__0orderWhere<>c__DisplayClass6<>c__DisplayClass8CS$<>8__locals7<CreateCustomers>b__5get_CompanyNameset_CompanyNameget_ContactNameset_ContactNameget_ContactTitleset_ContactTitleget_Faxset_Faxset_Phoneset_PostalCodeAddRange<CreateChartSource>b__1IGrouping`2<CreateChartSource>b__2cpCS$<>9__CachedAnonymousMethodDelegate4ToListGroupByop_Additionop_Explicitget_BirthDateset_BirthDateget_Extensionset_Extensionget_HireDateset_HireDateget_HomePhoneset_HomePhoneget_Notesset_Notesget_Photoset_Photoget_ReportsToset_ReportsToget_Titleset_Titleget_TitleOfCourtesyset_TitleOfCourtesyget_AddressLine1get_CountryRegionNameget_ImageDataget_EmailAddressget_JobTitleLookUpEditBaseset_ItemsSourceget_DisplayMemberset_DisplayMemberset_Capacityget_Icon_25get_CategoryProductsCategoryProductsFromDaysSubtractMonitorEnterGetRangeExitStringComparerget_CurrentCultureSerializableAttributeGetValueOrDefaultTypeDescriptorGetPropertiesNextDoubleWebDomainClient`1get_EntityContainerGetEntitySetIDictionary`2ValidateMethodInvokeOperationSystem.ServiceModelServiceContractAttributeFaultContractAttributeOperationContractAttributeSystem.ServiceModel.Web.ExtensionsSystem.ServiceModel.WebWebGetAttributeEntitySetOperationsCreateEntitySetSystem.Runtime.SerializationDataContractAttributeRaiseDataMemberChangingValidatePropertyRaiseDataMemberChangedDataMemberAttributeSystem.ComponentModel.DataAnnotationsStringLengthAttributeEditableAttributeRoundtripOriginalAttributeget_YearDaysInMonthDefaultMemberAttributeColumnGeneratorItemContextget_PropertyDescriptorContentPropertyAttributeset_TemplateApplyTemplateVisualTreeHelperGetChildVisibilityPropertyBindingBoolToVisibilityConverterset_ConverterBindingExpressionBaseSetBindingRangeBaseMaximumPropertyBindingModeset_ModeListChangedTypeget_ListSLRoutedEventHandleradd_EndGroupingColumnCollectionBase`1get_IsGroupedSystem.XmlSystem.Xml.SerializationXmlRootAttributeget_IsInDesignToolXmlSerializerDemoHelperGetPathDeserializeEndpointAddressBasicHttpBindingset_MaxReceivedMessageSizeDevExpress.Xpo.DBDataStoreClientSystem.ServiceModel.ChannelsSimpleDataLayerIDataStoreXpoDefaultIDataLayerset_DataLayerset_SessionEnumeratorHelperExistsComboBoxEditSettingsButtonEditSettingsset_IsTextEditableLookUpEditSettingsBaseCarsDataget_NewDataSourceGridColumnDataEventHandleradd_CustomUnboundColumnDataColumnDataEventArgsBaseget_IsGetDataget_ListSourceRowIndexTextEditBaseset_UnboundTypeget_SelectedIndexget_DateTimeset_ErrorContentset_IsValidGetDataStreamSystem.Xml.LinqXDocumentXNameXContainerXElementDescendantsElementBeginSelection<PrivateImplementationDetails>{A61FC7CF-4C30-4BCD-977E-4A8F5BCD85FB}__StaticArrayInitTypeSize=400$$method0x6000460-1RuntimeHelpersRuntimeFieldHandleInitializeArrayGetget_VisibleColumnsSelectCellGetLengthEndSelectionset_Visibleset_ShowInColumnChooserGridSummaryItemCollectionget_TotalSummaryset_SummaryTypeset_DisplayFormatSpinEditSettingsTextEditSettingsMaskTypeset_MaskTypeset_MaskUseAsDisplayFormatset_Maskset_MaskCultureCustomSummaryProcessget_SummaryProcessIsCellSelectedget_FieldValueDBNullset_TotalValueUpdateTotalSummary<SelectCells>b__2get_VisibleRowCountComparison`1Sortget_DataControlUnselectAllComparer`1get_DefaultApplyShowColumnChooserset_HandledColumnChooserFactoryPropertyClearValueset_ColumnChooserFactoryGridMenuTypeget_MenuTypeBarManagerActionCollectionget_CustomizationsRemoveBarItemAndLinkActionBarItemActionBaseset_ItemNameIBarManagerControllerActionGridMenuInfoget_MenuInfoClipboardCopyModeset_ClipboardCopyModeCopyRowsToClipboardop_Divisionget_Tagget_TotalSummaryMenuCustomizationsset_ExistsClipboardSetTextget_DataContextExpandGroupRowItemsSourceChangedEventHandleradd_ItemsSourceChangedget_GroupSummaryset_GroupIndexUngroupByadd_BeforeModuleDisappearListItemCollectionCollapseStoryboardPropertyExpandStoryboardPropertyset_ExpandStoryboardset_CollapseStoryboardset_RowDecorationTemplateRowDecorationTemplatePropertyset_FilterCriteriaApplyFilterget_FilterControlget_ShowGroupCommandsIconset_ShowGroupCommandsIconget_ShowOperandTypeIconset_ShowOperandTypeIconget_ShowToolTipsset_ShowToolTipsEditValueChangedEventHandleradd_EditValueChangedShowFilterPanelModeset_ShowFilterPanelModePredicate`1LayoutHelperFindLayoutOrVisualParentObjectPopupget_OldValueset_IsOpenget_IsOpenset_SelectedIndexGridSortInfoCollectionget_SortInfoGridSortInfoset_GroupCountset_GroupIntervalset_SortModeget_Value1Floorget_Value2set_ResultCellValueEventArgsget_SortModeset_DisplayText<SetContextMenuItemCommand>b__2DataControlPopupMenuget_MenuCustomizablePopupMenuBaseBarItemGetBarItemByNameResourceHelperFindResourceset_GroupSummaryItemTemplateGroupSummaryItemTemplateSelectorPropertyset_GroupSummaryItemTemplateSelectorGroupSummaryItemTemplatePropertyadd_LoadedMouseEventHandleradd_MouseEnteradd_MouseLeaveDependencyPropertyChangeListenerGetPositionRectGetRelativeElementRectget_Xget_YPointHelperOffsetFlowDirectionget_FlowDirectionSLPopupset_HorizontalOffsetset_VerticalOffsetGetCellDisplayTextHitInfoBase`1DataViewHitTestVisitorBaseAcceptget_OriginalSourceTableViewHitInfoCalcHitInfoIsGroupRowHandle<RemoveHitInfo>b__0FirstOrDefaultget_TotalSummaryTextGetFooterDisplayTextget_IsMouseOverset_IsCheckedIsTextEditablePropertyAutoCompletePropertyImmediatePopupPropertyEditorButtonShowModeset_EditorButtonShowModeEditorShowModeset_EditorShowModeget_CultureSetErrorset_DisplayTemplateset_EditTemplateActivatingKeyEventArgsModifierKeysget_Modifiersset_IsActivatingKeyget_EmployeesNewset_AutoPopulateColumnsset_IsPopupAutoWidthPopupBaseEditSettingsset_PopupContentTemplateCloseEditorset_CurrentColumnShowEditorget_ActiveEditorPopupBaseEditShowPopupCursorsCursorget_Waitset_Cursorget_SelectedItemObservableCollectionCore`1BeginUpdateMemoEditSettingsset_PopupWidthset_ShowIconTextWrappingset_MemoTextWrappingScrollBarVisibilityset_MemoVerticalScrollBarVisibilityBestFitAreaset_BestFitAreaset_AllowEditingset_AllowColumnFilteringEndUpdateCursorPropertyEditSettingsHorizontalAlignmentset_HorizontalContentAlignmentGetRowHandleByListIndexCustomBestFitEventArgsBaseset_BestFitRowsset_AllowLiveDataShapingget_MergedDictionariesAssemblyHelperGetPartialNameset_Tagget_DisplayTextset_ProductIDDialogClosedDelegateget_EmptyFloatingContainerParametersset_AllowSizingset_ClosedDelegateFloatingContainerDXDialogShowDialogContentset_PostponedValidationFixedStyleset_Fixedset_CellTemplateSelector<>c__DisplayClass4<PART_Editor_DefaultButtonClick>b__3dialogResultget_EditValueset_EditValueCountriesArrayget_FocusedRowHandleget_CurrentColumnBlockCollectionget_BlocksParagraphContainerBlockParagraphget_ParagraphShowingEditorEventArgsBaseset_Cancelset_IsEnabledGridMenuEventHandleradd_ShowGridMenuSelectItemUnselectItemIsRowSelectedUpdateGroupSummaryset_SelectionModeget_OrderDetailsNewScrollIntoViewSetCellValueNewItemRowPositionget_NewItemRowPositionset_FocusedRowHandleTabControlSelectionChangedEventHandleradd_SelectionChangedget_SelectedItemContentUpdateApplicationThemePrintColumnHeaderStylePropertyPrintCellStylePropertyPrintGroupRowStylePropertyPrintTotalSummaryStylePropertyPrintFixedTotalSummaryStylePropertyStyleset_PrintColumnHeaderStyleset_PrintCellStyleset_PrintGroupRowStyleset_PrintTotalSummaryStyleset_PrintFixedTotalSummaryStyleset_PrintHeaderTemplateset_PrintRowTemplatePrintHeaderTemplatePropertyPrintRowTemplatePropertySystem.Windows.BrowserHtmlPageHtmlWindowget_WindowNavigateset_DataRowTemplateDataRowTemplatePropertySaveLayoutToStreamset_PositionRestoreLayoutFromStreamGridGroupSummarySortInfoCollectionget_GroupSummarySortInfoGridGroupSummarySortInfoset_ShowTotalSummaryset_ShowFixedTotalSummaryShowTotalSummaryEditorShowFixedTotalSummaryEditorExpandAllNodesset_IsColumnMenuEnabledset_IsRowCellMenuEnabledset_IsTotalSummaryMenuEnabledExpandAllGroupsListBoxItemShowUnboundExpressionEditorget_Discountop_SubtractionBeginDataUpdateEndDataUpdateRowBaseSetColumnError<SelectSource>b__0<SelectSource>b__1<SelectSource>b__2<SelectSource>b__3GetInvoicesQueryGetEmployeesQueryGetProductsQueryadd_ResolveSessionadd_DismissSessionset_DefaultSortingDevExpress.Xpf.ComponentModelComponentDevExpress.Xpo.HelpersISessionProviderget_SessionUnitOfWorkset_WaitIndicatorTypeset_WaitIndicatorStyleWaitIndicatorStylePropertyStartupBaseRunDevExpress.DemoData.v13.1DevExpress.DemoDataAssemblyMarkerLoaderset_DemoDataAssemblyGridDemo.g.resourcesGridDemo.Data.Countries.xmlGridDemo.Data.LayoutSamples.BriefView.xmlGridDemo.Data.LayoutSamples.FullView.xmlGridDemo.Data.EmbeddedData.txtGridDemo.Images.IssueIcons.Active.pngGridDemo.Images.IssueIcons.Answered.pngGridDemo.Images.IssueIcons.CustomerClosed.pngGridDemo.Images.IssueIcons.Duplicate.pngGridDemo.Images.IssueIcons.InsufficientInformation.pngJobTitleFirstNameLastNameBirthDates/GridDemo;component/Controls/CollectionViewNavigator.xaml
source	root;IsSynchronizedWithCurrentItemCollectionView[IsSynchronizedWithCurrentItemEditorVisibilityAEditableCollectionViewVisibility?This method shouldn't be called 7GridDemo.Images.IssueIcons.	.pngOhttp://devexpress.com/Support/Center/p/.aspxBy Cell
By RowDefault
AlwaysNeverFind on ClickContainsStarts With	Like_/GridDemo;component/Images/MultiView/GroupName/administrationinventorymanufacturingqualityresearchsalesK/GridDemo;component/Images/MultiView/
Normal	BoldNameValueTextValue	View3PART_ColumnChooserControlGridControl)../ExportService.svc
UserIdHasAttachment	SentIdColumnNameTypeIndexAddressEmail+ field can't be empty7Address hasn't been entered3Email hasn't been entered	none'Wrong email addressaEither Phone Number or Email should be specified@HiddenInGroupVisibleInGroupIsItemVisibleQuantityby Yearby Month#ActualSalesReportReportTypeIndex%AllowCascadeUpdate7DefaultDisplayModeSummariesEAlignByColumnsDisplayModeSummaries/AlignSummariesByColumnsSummarySource-CityColumnVisibleIndex)CityColumnGroupIndex#RowIndicatorState/{0}, {1}, {2}

{3}, {4}ID(1)	FromTo	SizePrioritySubject()CpuUsage!MemoryUsageColorRevealProgressPID	NameMemoryUsageUpdateIntervalProcessMaxCountProcessMinCountUpdateModewininit.exesvchost.exe
Systemdevenv.exeintetinfo.exelsm.exelsass.exewinlogon.exeservices.exe!newRowStoryboard'deleteRowStoryboardGmemoryUsageDecreasedColorStoryboardGmemoryUsageIncreasedColorStoryboard1cpuUsageChangeStoryboard/ShowOrdersColumnHeaders'ShowOrdersSummaries5ShowCustomersColumnHeaders-ShowCustomersSummaries3ShowInvoicesColumnHeaders+ShowInvoicesSummaries#ShowDetailButtonsIsLoadingIConnection could not be established.!Connection ErrorTemplateNameFieldProduct #EditorTypeKeyValue'ColumnInfoFieldNamePhoneCountListSource+IsGeneratingOrderData=GenerateOrderDataProgressValueCountItems#SelectedCountItem#AllowPrintDetailsPrintAllDetails1PrintOrdersColumnHeaders)PrintOrdersSummaries7PrintCustomersColumnHeaders/PrintCustomersSummaries5PrintInvoicesColumnHeaders-PrintInvoicesSummaries7PrintEmployeesColumnHeaders/PrintEmployeesSummaries-IsUseExtendedDataQueryCommandColumns+SelectAllItemsCommand?The value must be greater than !is greater than WThe value must be greater than or equal to 9is greater than or equal to 9The value must be less than is less than QThe value must be less than or equal to 3is less than or equal to 9The value must be not equal does not equal %SelectedDefinitionWcfSCService��http://demos.devexpress.com/Services/WcfLinqSC/WcfSCService.svc/k/GridDemo;component/Modules/EmbeddedTableView.SL.xaml	grid	viewcolEMail!SelectedTabIndexg/GridDemo;component/Modules/GridSearchPanel.SL.xaml#cbShowSearchPanellbShowModelbSearchMode!cbShowFindButton#cbShowCloseButton#groupFrameColumnscolumnsListo/GridDemo;component/Modules/MasterDetailWithRIA.SL.xamlmasterViewPreviewk/GridDemo;component/Modules/PrintMasterDetail.SL.xaml5AllowPrintDetailsCheckEdit1PrintAllDetailsCheckEditnewTabButtontabControl%MDOrdersDescriptor)MDInvoicesDescriptor+MDCustomersDescriptorSCModel+GridDemo.WcfSCServiceSCModel.SCIssuesDemoOidIDModifiedOnCreatedOnProductNameTechnologyName
Urgent
StatusDataSource}/GridDemo;component/Controls/InternetConnectionControl.SL.xamlUSAUKUnited StatesUnited Kingdom'ComboBoxItemsSource��/GridDemo;component/Controls/MiltiSelectionOptionsControl.SL.xamlgroupBoxControlcomboBoxControlSelectButtonUnselectButtonReselectButtonUnitPriceDiscountExtendedPriceFreightTotalOIDHoursActivePeter DolanRyan FischerRichard FisherTom HamlettMark HamiltonSteve LeeJimmy Lewis#Jeffrey W McClainAndrew MillerDave MurrelBert ParkinsMike RollerRay ShipmanPaul BaileyBrad BarnesCarl LucasJerry Campbell��Integrating Developer Express MasterView control into an Accounting System.��Web Edition: Data Entry Page. There is an issue with date validation.[Payables Due Calculator is ready for testing.]Web Edition: Search Page is ready for testing.��Main Menu: Duplicate Items. Somebody has to review all menu items in the system.yReceivables Calculator. Where can I find the complete specs?KLedger: Inconsistency. Please fix it.cReceivables Printing module is ready for testing.UScreen Redraw. Somebody has to look at it._Email System. What library are we going to use?aCannot add new vendor. This module doesn't work!gHistory. Will we track sales history in our system?mMain Menu: Add a File menu. File menu item is missing.��Currency Mask. The current currency mask in completely unusable.��Drag & Drop operations are not available in the scheduler module.cData Import. What database types will we support?QReports. The list of incomplete reports.��Data Archiving. We still don't have this features in our application.��Email Attachments. Is it possible to add multiple attachments? I haven't found a way to do this.��Check Register. We are using different paths for different modules.��Data Export. Our customers asked us for export to Microsoft Excel��http://demos.devexpress.com/Services/RiaSC/RiaSC-Web-SCService.svc)GetSCIssuesDemoQueryGetSCIssuesDemotechnologyNameAGetSCIssuesDemoByTechnologyQuery7GetSCIssuesDemoByTechnology!extendedDataInfoOGetSCIssuesDemoByTechnologyExtendedData7GetSCIssuesDemoExtendedData	DateDateMonth-EmployeeColumnTemplate%DateColumnTemplate%ProgressVisibilityProgressMaximumProgressValue}/GridDemo;component/Controls/TabHeaderPrintInfoControl.SL.xamlprogress!tabNameTextBlock!LinkPreviewModelTabNameCompletePercentComplete
{0}{1}, 
<None>	TaskBusinessCompetitorFavoritesGiftsGoalsHolidayIdeasInternationalPersonalCategoryNameGridDemo.Data.Countries.xmlyhttp://demos.devexpress.com/Services/WcfXpoSC/XPOService.svcc/GridDemo;component/Modules/AutoFilterRow.SL.xamlgridViewcolPrioritycolHoursActive!colHasAttachment]/GridDemo;component/Modules/BandedView.SL.xaml/showBandsPanelCheckEditAallowChangeColumnParentCheckEdit=allowChangeBandParentCheckEditKshowBandsInCustomizationFormCheckEdit1allowBandMovingCheckEdit5allowBandResizingCheckEdit%autoWidthCheckEdit?allowPerPixelScrollingCheckEdit5showAutoFilterRowCheckEdit)allowMovingCheckEdit-allowResizingCheckEdit��A column bound to the same field in the data source already exists.u/GridDemo;component/Modules/BindingToDynamicObject.SL.xamloptionsPanelFieldNameBoxTypeBox'DefaultValueBoxSpin'DefaultValueBoxText'DefaultValueBoxDate)DefaultValueBoxCheckCreateNewColBtn	AnneBobMichael	MikeBryanSteve	AlexDonDavid
SandraSamanthaJimJoDodsworthSmith
Miller
VargasMaresRallsSeamans	MyerMoreland
WaltonMastersBerryHinesEmployeeEmailAddressa/GridDemo;component/Modules/BindingToXML.SL.xaml
${0:N}cen-USe/GridDemo;component/Modules/CellsSelection.SL.xamlcheckEdite/GridDemo;component/Modules/CollectionView.SL.xamlnavigatorcolCountry'Show Column Chooser'Hide Column Chooserc/GridDemo;component/Modules/ColumnChooser.SL.xamlshowHideButton3columnChooserTypesListBox7customColumnChooserExpandercolumnChooser#ColumnChooserTypeItemGroupBox!allowSortingItem#allowGroupingItem#ItemClearGrouping'allowAllSortingItem)allowAllGroupingItemItemCustomize+customSummaryMenuItemcustomItem_/GridDemo;component/Modules/ContextMenu.SL.xaml#ContextMenuModule3columnMenuRemoveItemCheck-columnMenuAddItemCheck;groupPanelMenuRemoveItemCheck5groupPanelMenuAddItemCheck1totalMenuRemoveItemCheckbarManagerdeleteRowItemcolUnitPriceCellMenuInfow/GridDemo;component/Modules/GroupSummariesAlignment.SL.xamlreportTypesListi/GridDemo;component/Modules/MasterDetailView.SL.xaml%DetailContentCheck[/GridDemo;component/Modules/MultiView.SL.xaml!multiViewListBoxe/GridDemo;component/Modules/CurrentDataRow.SL.xaml	John3123 Home Lane, Homesville(555)956-15-47HenryMcAllister-436 1st Ave, Cleveland(555)941-24-32@hotbox.comFrankFrankson9349 Graphic Design L, Newman(555)155-05-02
FreddyKruegerElm StreetLeticia	Ford?93900 Carter Lane, Cartersville(555)776-15-66Karen
Holmes(555)342-25-74RogerMichelson=3920 Michelson Dr., Bridgeford(555)954-51-88c/GridDemo;component/Modules/DataErrorInfo.SL.xamlY/GridDemo;component/Modules/DragDrop.SL.xaml/multiselectionCheckEdit/allowScrollingCheckEdit+emptyRecycleBinButtonrecycleBinList'gridDragDropManager!expandStoryborad%collapseStoryboradfadeInTemplateblindsTemplate��

			<Storyboard>

				<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="AnimationProgress">

					<DiscreteDoubleKeyFrame Value="0" KeyTime="0"/>

				</DoubleAnimationUsingKeyFrames>

			</Storyboard>

q/GridDemo;component/Modules/ExpandCollapseGroups.SL.xaml+animationTypeComboBoxOrderIDc/GridDemo;component/Modules/FilterControl.SL.xaml+showGroupCommandsIcon'showOperandTypeIconshowToolTips#ApplyFilterButtonfilterEditorfilterGridcolIDcolProductcolQuantitycolTotal	CityBergamoOrderDate[/GridDemo;component/Modules/Filtering.SL.xaml/allowFilteringCheckEdit#allowFilterEditor7allowMRUFilterListCheckEditCallowColumnMRUFilterListCheckEdit5showFilterPanelModeListBoxWimmediateUpdateCountryColumnFilterCheckEditYimmediateUpdateQuantityColumnFilterCheckEdita/GridDemo;component/Modules/FixedColumns.SL.xamlCountryY/GridDemo;component/Modules/Grouping.SL.xaml1allowFixedGroupsCheckBoxgroupList-{0:$0.00} - {1:$0.00} >= {0:$0.00} 	NoneDayMonth	YearSmarte/GridDemo;component/Modules/GroupIntervals.SL.xamlgroupModeListcolOrderDateMcustomTemplateWithSummaryCustomization%smallValueTemplate%largeValueTemplatecustomTemplatea/GridDemo;component/Modules/GroupSummary.SL.xaml/alignByColumnsCheckEdit7summaryItemTemplateComboBoxcolCityIsChecked!AllowShowHitInfoHitTest
ColumnNo columnRowHandleCellValue
No rowNew Item RowAuto Filter Row{0} ({1})data rowgroup rowTotalSummary#FixedTotalSummaryGroupValue{0}: {1}GroupSummaryW/GridDemo;component/Modules/HitTest.SL.xaml)showHitInfoCheckEdithitInfoPopup%hitIfoItemsControl!DemoDataProvider��The Hours Active value must be greater than zero and less than or equal to 1000KalternativeHoursActiveDisplayTemplateEalternativeHoursActiveEditTemplatee/GridDemo;component/Modules/InplaceEditors.SL.xaml-editorShowModeCombobox7editorButtonShowModeListBox5booleanColumnEditorListBox)autoCompleteCheckBox-immediatePopupCheckBoxEalternativeDisplayTemplateCheckBox?alternativeEditTemplateCheckBoxcolIdcolUserIdCustomerIDCompanyNameNWindDataLoader)customerGridTemplateEmployeeID)employeeGridTemplatek/GridDemo;component/Modules/InplaceLookUpEdit.SL.xaml#chkImmediatePopup)chkAllowAutoComplete#,0
## ##0a/GridDemo;component/Modules/LargeDataSet.SL.xamlrowCountListBox%columnCountListBox/setRowColumnCountButton!AnimationElementY/GridDemo;component/Modules/LiveData.SL.xaml!chkAllowUpdatingupdateModeList'memoryUsageCheckBox!cpuUsageCheckBoxnewRowCheckBox#deleteRowCheckBoxGeneric.SL.xaml3/{0};component/Themes/{1})addNewRecordTemplateAdd New Record]/GridDemo;component/Modules/LookUpEdit.SL.xaml!txtDisplayMembertxtValueMember#chProcessNewValuelookUpEditSelect Country#ItemSortAscending%ItemSortDescending!ItemClearSortingItemGroupColumnDescriptionProgressBarEdita/GridDemo;component/Modules/MultiEditors.SL.xaml-descriptionRichTextBox'Group by 'Category'- Ungroup by 'Category'i/GridDemo;component/Modules/MultipleGrouping.SL.xamlgroupButton#ItemSortBySummary$	 - $e/GridDemo;component/Modules/MultiSelection.SL.xaml5enableMultiSelectCheckEditIProductsMultiSelectionOptionsControlCPriceMultiSelectionOptionsControl)SelectionRowsListBoxdefaultView]/GridDemo;component/Modules/NewItemRow.SL.xamlcolOrderIDcolProductIDcolDiscounto/GridDemo;component/Modules/PagedCollectionView.SL.xamlpagerCPLinqInstantFeedbackDemoViewModelq/GridDemo;component/Modules/PLinqInstantFeedback.SL.xaml%pLinqInstantSourcecolOrderIdcolCustomerName%colProductCategorycolProductNamecolPricecolIsReady9customPrintColumnHeaderStyle)customPrintCellStyle'customGroupRowStyle9customPrintTotalSummaryStyleCcustomPrintFixedTotalSummaryStyle#{0} Style Previewa/GridDemo;component/Modules/PrintOptions.SL.xaml#printStyleChoosercountryColumncityColumnunitPriceColumn3detailPrintHeaderTemplate-detailPrintRowTemplate3mailMergePrintHeaderStyle3mailMergePrintRowTemplate{0} Previewe/GridDemo;component/Modules/PrintTemplates.SL.xaml)templateNamesListBoxmailto:eMailTemplate7expandableRowDetailTemplate#rowDetailTemplate%rowToolTipTemplate_/GridDemo;component/Modules/RowTemplate.SL.xamlCheckBox'rowTemplateComboBoxOriginalBrief view9GridDemo.Data.LayoutSamples.BriefView.xmlFull viewFullView.xmlc/GridDemo;component/Modules/Serialization.SL.xaml!saveLayoutButton'restoreLayoutButton+layoutSamplesComboBox-loadSampleLayoutButtoncolCompanyNamecolContactNamecolContactTitlecolAddressIsSelectedc/GridDemo;component/Modules/SortBySummary.SL.xamlsortModeListcolCountcolOrderSum[/GridDemo;component/Modules/TableView.SL.xaml3allowFixedGroupsCheckEdit7allowCascadeUpdateCheckEdit/allowScrollingAnimation+allowSortingCheckEdit-allowGroupingCheckEdit+allowBestFitCheckEdit-showIndicatorCheckEdit5showVerticalLinesCheckEdit9showHorizontalLinesCheckEdit/NavigationStyleComboBoxlbSummarya/GridDemo;component/Modules/TotalSummary.SL.xamlMcbTotalSummaryPanelsContextMenuEndbledcbShowFooter/cbShowFixedTotalSummary+btnTotalSummaryEditor5btnFixedTotalSummaryEditora/GridDemo;component/Modules/TreeListView.SL.xaml/showTreelLinesCheckEdit)chkEnableContextMenutreeListe/GridDemo;component/Modules/UnboundColumns.SL.xaml5showExpressionEditorButton#colDiscountAmountcolTotalScalemThe SubTotal value must be greater than or equal to 0.]/GridDemo;component/Modules/Validation.SL.xaml3unitPriceConditionListBox1quantityConditionListBox1discountConditionListBox!colQuantityPricem/GridDemo;component/Modules/RIAInstantFeedback.SL.xaml
filter!riaInstantSourcecolSubject#colTechnologyNamecolStatuscolCreatedOncolUrgentInvoicesCustomersEmployeesProducts_/GridDemo;component/Modules/RIAServices.SL.xamllistBoxEdity/GridDemo;component/Modules/VerticalScrollingOptions.SL.xaml	Cars
OrdersdurationSlider5animationEffectListBoxEdit3gridDataSourceListBoxEditm/GridDemo;component/Modules/WCFInstantFeedback.SL.xaml;UseExtendedDataQueryCheckEdit!wcfInstantSourceCreatedOn desc
Custom1CustomWaitIndicatorStylem/GridDemo;component/Modules/XPOInstantFeedback.SL.xaml#waitIndicatorListanimationStyle���0L�K�~J�[ͅ�|�׾�y���T��A��1�8V�6N5mqA��dm���������8����} }   �� �� �� ��     �� �� � �     �=���(}((��(��(((��(� �	�
 �� � � � ��(�(�l l �! �% -)(�% e�) �- �-  �1(�-�-�5 �5�9�= �A
 �-�A �E(�A�I �I �I(�I   M I �M�M�M�M �M�M�M����  �Q �Q
 �Q�U	 A�L
 A�LA�L	(A�Le�1�Y�]�a( �] �] �a �a�]�a(�](�a } (�e	 �e�e �ee` ` `(`� � �i �m �q �u �y �	� ��	   �	(�	
���}     �	  �}u u �� ��   ( 
 
 �� ��(
(��  � ��(�
i@��@
e������
�� � � �� �� � � �� ����� � � �� � �(�(��(��� 	 ���� ���(� � ��(��� ��
 ���� ���� �� �������� �������� �������� ������������������������
(����(��������(��������� ��� ��� ����
���(��� ��	 ����(���0 �0�l�h�d�� �4 �l �l	 �8 �h �h �d �d(�l	(�8(�h(�d�� �� ��(������ �� �� ��(��
 ������ �� ����(�� �m
�������m(�m	������ �� ��
 ���� ���� �� A �� A(��
(����(�� ���� �� �e �e(�e	 ���
 �a�� ����� � ��� �� ��(�(���� �� ��(�� �� �� ����(��ee��t�	�
�� � ����A�! �	 �	
 �%��	�%�� ��
(�%������
 �)�] �)�]	�)�] �)	 �)�)
(�)�](�)
 ����
(�����	 �	(� �- �-�-(�-
 ���1 ���1��� ���1 ��	���1
(���1
 ��� ������ ��	���
(���	���
 ���	��� 
 ��� 
��� �� �5
(���
(��� ��5���� �� �� �(��(��8�<�9�@	�8�<�8
�8�8 �@ �� �4	 �@	�=�4 �=�4�=�4   �8( �8 �8�8(�8 �P �A(�P(�A�H�P�)�)
�)
	�)�H �)	 �) �)
	 �)
 �)
	 �)
 �)�H �)�H(�)(�)
(�)
(�)�H�]�)�)�H�L�L
�L�X�X �E
 �I�h
 �M�h �M�h �Q�U�Q
 �Q �Q�U�Q	 �Q ��
(�I�h
 �Y�h��
 ���� ���� ���	}� 
 �}  �p
 �p�	��! �� ����(�� �9 �9�]�a(�9�e �e �i u u�� u u(u�� ���]	���� ����	 �������� �� ��(������ �� ��(�������� �� ��	 ����(���� �(�}}�	 �	�� �m �q �u�y�}�� �� �� ���������� �� �� ������(�� �� �� ��  �� �� �m������(��( �� ��(����  ���� �� e �� �� �� �� �� �A���� �� e�1 �� ��� �u �y����(� �� �� �
 ����	 �- �
 i i! e��i(i�4 � ��!��	�%�1
 �%�1	 �,�0 �1 �)�,
(�%�1 ���1�� ��
 ���� �-�1�5�9 �= �� ��e�A�E �a�E �I	 ���� �E
 �E�� �M �Q �E�E�U ��0���Y�M�]�a�e �i �� �� ���� �U���� �U��
 �U��	 A������  ������ ��	 ������ ����� ������������������ ���I�	�����	�	�� �� �		��	�  �8
�)��)����)�!�)�!�!�!�)�%�)�%�%�%	 �-�-
�- �]�]�]�]�]�]�]

	���	 �A���	�	�= e�E �Q ��	e�	e�U�U�U
�5�5�5�5 �= �a�] �e�i �u �a�m�9���E���E�� �y�y������  �}�
�
	�]�}�] �}	�5��  �U
����
�LA�L
 �����L! �A������ 
��  �]
�]�a�1���������a�a�a����������
0
}

 �A�y

`���1A�1
���� �� ���	�����	
��] u��	�� ����
 ���	�� �� �����) ������$�$��)�)����� 	������e�
���) ���i�� ���i�������� ���)
��������)� ���M������������M���M������������M�� �M�� �M��������M���������� ��M������M���������� �
 �M��
�U�	��0�	�M�
�	
���	��	 �
�	�� �
�)�-
�������� �� �5 �y	�1�-
 ��	 �� �}�9	 �=�=�E
e�M����-�������-��	������p�4����
��e���U�������������������
���A���a��	 A	A��
��

����
�
�UA��A
��A�U���U�������� �e����������
������ ���a	�a�a�1�a�e �	����DevExpress.Xpf.Core.DecimalConverter, DevExpress.Xpf.Core.v13.1, Version=13.1.4.5, Culture=neutral, PublicKeyToken=b88d1754d700e49adbo.SCIssuesDemo��.)ModuleResources/SharedResources(.SL).xaml94ModuleResources/EmbeddedTableViewTemplates(.SL).xaml$Controls/MasterDetailItems.(cs).)ModuleResources/SearchPanelViewModel.(cs),'ModuleResources/SearchPanelClasses.(cs)3.ModuleResources/SearchPanelTemplates(.SL).xamlControls/Converters.(cs)61ModuleResources/MasterDetailWithRIAViewModel.(cs)4/ModuleResources/PrintMasterDetailViewModel.(cs)$Controls/DemoModuleControl.(cs) �� �M&System.Data.Services.Design1.0.0	���	 ���		���	 ���	 �� �	 �	0�%
��SCIssuesDemoOid��
��������	�������������$������������������������������1�1���1���1���1���1�1���1����� ���������������	����������
�������+�����������������������+����������������������]�����]� ���]������]�� ���]���
�� ����]!��������
��]�����]�� 
���]�� 
� ��� ��� �������a.��� � �a��1��� ������1�5�-�5�5��5�-�5�������������������������5����
�5������
}�������8}���8�����<�a
}�Y���<�����-�8�8�8�-�8�@�� �]��
.�@�8�<�Y�<�@�@�] 
 �@

�=�4�=�4�=�4�=�4�� �A�)�)�)�)�]	�]�]�)�]�)�]�)�)�)
�)
�)
�)
�)
�)�H�)�H�)�H�} uu9�P�P�P�P�P�P�P�P�P�P�P�P�P�P�P�P�P�P

�L�)�)
�L�L
�L�����` ��
0�I
�h ��0�M��	�#0�Q�����
�Q
 �������
���Q�1��System.ServiceModel.DomainServices.Client.DomainServiceFault, System.ServiceModel.DomainServices.Client.Web, Version=2.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35TAction>http://tempuri.org/SCService/GetSCIssuesDemoDomainServiceFaultTNameDomainServiceFaultT	NamespaceDomainServices��TAsyncPatternTAction,http://tempuri.org/SCService/GetSCIssuesDemoTReplyAction4http://tempuri.org/SCService/GetSCIssuesDemoResponse�=��System.ServiceModel.DomainServices.Client.DomainServiceFault, System.ServiceModel.DomainServices.Client.Web, Version=2.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35TActionJhttp://tempuri.org/SCService/GetSCIssuesDemoByTechnologyDomainServiceFaultTNameDomainServiceFaultT	NamespaceDomainServices��TAsyncPatternTAction8http://tempuri.org/SCService/GetSCIssuesDemoByTechnologyTReplyAction@http://tempuri.org/SCService/GetSCIssuesDemoByTechnologyResponse�I��System.ServiceModel.DomainServices.Client.DomainServiceFault, System.ServiceModel.DomainServices.Client.Web, Version=2.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35TActionVhttp://tempuri.org/SCService/GetSCIssuesDemoByTechnologyExtendedDataDomainServiceFaultTNameDomainServiceFaultT	NamespaceDomainServices��TAsyncPatternTActionDhttp://tempuri.org/SCService/GetSCIssuesDemoByTechnologyExtendedDataTReplyActionLhttp://tempuri.org/SCService/GetSCIssuesDemoByTechnologyExtendedDataResponse�=��System.ServiceModel.DomainServices.Client.DomainServiceFault, System.ServiceModel.DomainServices.Client.Web, Version=2.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35TActionJhttp://tempuri.org/SCService/GetSCIssuesDemoExtendedDataDomainServiceFaultTNameDomainServiceFaultT	NamespaceDomainServices��TAsyncPatternTAction8http://tempuri.org/SCService/GetSCIssuesDemoExtendedDataTReplyAction@http://tempuri.org/SCService/GetSCIssuesDemoExtendedDataResponse0��BT	Namespace1http://schemas.datacontract.org/2004/07/RiaSC.Web	�������M>g�dTAllowInitialValue� (���p�Y������]	Item�t�	�-
Storyboard �	ee	%�|% 
 ���� �%��� �i �)��
���Y�]
��
���Y�� �- ���1� 	Countries�	 ���9�	 
	 �M�A �U�]���A�E�I
��
�	
�	�	50ModuleResources/AutoFilterRowTemplates(.SL).xaml.)ModuleResources/AutoFilterRowClasses.(cs)�e�e	�u72ModuleResources/BindingToDynamicObjectClasses.(cs) ���� �y�� �q�����������-(ModuleResources/BindingToXMLClasses.(cs)��������
 �������������� ����%������������ ��	����
 ������ �
��� �� �A�� �� �
������ �� �m���) ��������
���� �	�������������
 �� �M'����������������	��  *%Controls/CollectionViewNavigator.xaml/*Controls/CollectionViewNavigator.xaml.(cs)1,ModuleResources/CollectionViewViewModel.(cs).)ModuleResources/ColumnChooserClasses.(cs) �� �� 1 �
 �)���)�� ������ ��K�����������������)�����)�)�)�)�)�)���� ��	 �� �a�a��
��"Controls/SalesByYearData.(cs):5ModuleResources/GroupSummariesAlignmentViewModel.(cs)  ��u�-u�}u����-u/*ModuleResources/MasterDetailViewModel.(cs);6Controls/ControlStyles/MasterDetailTemplates(.SL).xaml1,ModuleResources/MultiViewTemplates(.SL).xaml50ModuleResources/MultiViewViewTemplates(.SL).xaml*%ModuleResources/MultiViewClasses.(cs),'ModuleResources/MultiViewViewModel.(cs) �� ��61ModuleResources/CurrentDataRowTemplates(.SL).xaml.)ModuleResources/DataErrorInfoClasses.(cs)��	��0+ModuleResources/DragDropTemplates(.SL).xaml+&ModuleResources/DragDropViewModel.(cs)<7ModuleResources/ExpandCollapseGroupsTemplates(.SL).xaml50ModuleResources/ExpandCollapseGroupsClasses.(cs) �� �� ��1,ModuleResources/FilteringTemplates(.SL).xaml*%ModuleResources/FilteringClasses.(cs) ��
 �]�� �� ��,'ModuleResources/RoutedEventsHelper.(cs)4/ModuleResources/FixedColumnsTemplates(.SL).xaml�U��������e
ee��ee����/*ModuleResources/GroupIntervalsClasses.(cs) ����� �� ��������


 ��
�����)��� �	 ����/*ModuleResources/GroupSummaryViewModel.(cs)-(ModuleResources/GroupSummaryClasses.(cs)4/ModuleResources/GroupSummaryTemplates(.SL).xaml�� ]50Controls/ControlStyles/NameTextControl(.SL).xaml/*ModuleResources/HitTestTemplates(.SL).xaml(#ModuleResources/HitTestClasses.(cs)A�� �
 ���A ���%�!�%�%	��

 �)���� ��1�5���!
�� �9e ��	����
�������� ��	 �} 

61ModuleResources/InplaceEditorsTemplates(.SL).xaml�e�e�e����e �= �A �

�} �U �I �M�I94ModuleResources/InplaceLookUpEditResources(.SL).xaml2-ModuleResources/InplaceLookUpEditClasses.(cs)���� �Y�'"Controls/OutlookDataGenerator.(cs)-(ModuleResources/LargeDataSetClasses.(cs)�] �]�a� �i �m �q�}u��-�e�-u �u�e����	)$ModuleResources/LiveDataClasses.(cs)0+ModuleResources/LiveDataTemplates(.SL).xaml2-ModuleResources/LookUpEditTemplates(.SL).xaml
 �i�y�	�i�y�� ������������������%���)3.Descriptions/MultiEditorDescriptions(.SL).xaml4/ModuleResources/MultiEditorsTemplates(.SL).xaml-(ModuleResources/MultiEditorsClasses.(cs) ���0u���-u� ���
���������������)�� ���i�� ��
��%��%83ModuleResources/MultipleGroupingTemplates(.SL).xaml1,ModuleResources/MultipleGroupingClasses.(cs)4/Controls/MiltiSelectionOptionsControl.xaml.(cs)4/Controls/MiltiSelectionOptionsControl(.SL).xaml/*ModuleResources/MultiSelectionClasses.(cs)61ModuleResources/MultiSelectionTemplates(.SL).xaml ��
���)���%�1�@
�@�@ ���1�����@ �����EA�E � ��72ModuleResources/PLinqInstantFeedbackViewModel.(cs)50ModuleResources/PLinqInstantFeedbackClasses.(cs)<7ModuleResources/PLinqInstantFeedbackTemplates(.SL).xaml% Controls/OrderDataGenerator.(cs)�p4/ModuleResources/PrintOptionsTemplates(.SL).xaml ���� ��61ModuleResources/PrintTemplatesResources(.SL).xaml,'ModuleResources/RowTemplateClasses.(cs)3.ModuleResources/RowTemplateTemplates(.SL).xaml��.)ModuleResources/SerializationClasses.(cs)�����	�� ������	 ��4/ModuleResources/TreeListViewTemplates(.SL).xaml-(ModuleResources/TreeListViewClasses.(cs)61ModuleResources/UnboundColumnsTemplates(.SL).xaml/*ModuleResources/UnboundColumnsClasses.(cs)+&ModuleResources/ValidationClasses.(cs)�E�a���-�E
�E�-�E��:5ModuleResources/RiaInstantFeedbackTemplates(.SL).xaml50ModuleResources/RiaInstantFeedbackViewModel.(cs)�x
 �M��
 �M��
 �M��
�Y�M��
��
�Y�M��
�Y�M��
��
�Y�M��
��7�Y�M���Y�M���Y�M���Y�M���Y�M�U�	
�		�	;6ModuleResources/VerticalScrollingOptionsViewModel.(cs)@;ModuleResources/VerticalScrollingOptionsTemplates(.SL).xaml50ModuleResources/WcfInstantFeedbackViewModel.(cs):5ModuleResources/WcfInstantFeedbackTemplates(.SL).xaml3.ModuleResources/HyperLinkAttachedBehavior.(cs)��:5ModuleResources/XPOInstantFeedbackTemplates(.SL).xaml3.ModuleResources/XPOInstantFeedbackClasses.(cs)�=�i �=�i ���� ���� ���
���	BSilverlight,Version=v5.0TFrameworkDisplayName
Silverlight 40+DevExpress DXGrid for Silverlight Main Demo&!DevExpress DXGrid for SilverlightDeveloper Express Inc.3.Copyright (c) 2000-2013 Developer Express Inc.	DXGrid.Ag
13.1.4.0TWrapNonExceptionThrows�D�Q����RSDS򀙤ҒU@�e�x|��c:\Projects\13.1\BuildLabel\Temp\NetStudio.v13.1.2005\GridDemo\GridDemo\obj.SL\Release\GridDemo.pdb��� �_CorDllMainmscoree.dll�% �0�HX���4VS_VERSION_INFO��

?DVarFileInfo$Translation��StringFileInfo�000004b0p,CommentsDevExpress DXGrid for Silverlight Main DemoPCompanyNameDeveloper Express Inc.�,FileDescriptionDevExpress DXGrid for Silverlight Main Demo4	FileVersion13.1.4.0<
InternalNameGridDemo.dll�/LegalCopyrightCopyright (c) 2000-2013 Developer Express Inc.l"LegalTrademarksDevExpress DXGrid for SilverlightD
OriginalFilenameGridDemo.dlld"ProductNameDevExpress DXGrid for Silverlight8	ProductVersion13.1.4.0<	Assembly Version13.1.4.5� <PKc�Bc�nw����&$System.Windows.Controls.Data.Input.dll
 *E:�b�*E:�b�*E:�b�MZ����@���	�!�L�!This program cannot be run in DOS mode.

$PEL���N�!�.� @ @�I@���K(	�� xI  H.text4� � `.rsrc(	
�@@.reloc �@B�H�I,b	��?P �e����e�6�q�H!I����s�"�6����F��C`�-����=a��XIT"HG��@%�$�D7#�)!9�耆�0���晨K�1�A70t\?r�!���a!;���PT�Ze"��%b3����F"(
*B�(
o
*0(
u
,o *(
**"(
*0K(

(
,:(
u,+o
,#o
u,o
+o
o

**rp*"(
*B�	(
o
*04(
u	
,og,ogo
u,*(
*6-*(
**0	(
u	
,op*J~�"o
*F~o
�"*( 
*�r
p�"(
�(
�"s!
("
�*0(o
�(�*
(*(&
*03
~('
, r7p�(
o(
s)

�~*~*�*V(r{p~o*
*V(r�p~o*
*V(r�p~o*
*V(r+p~o*
*V(rWp~o*
*0h(.
�(
(/
~s0
(1
&�9s2
(3
�:s4
(5
(6
,�(
o
(!*0>u
,3(7
,#(8
,(7
o9
(8
o9
.o;*F~(
u*R}~(
*0u
,oA*F~(
u6*6~(
*F~	(
u7*6~	(
*F~
(
�"*J~
�"(*0Ju
,?(-7~
(7
((:
(�r�p�(;
s<
z*F~(
�"*J~�"(*0Ju
,?(-7~(7
((:
(�r�p�(;
s<
z*F~(
u*6~(
*0 u
,o5,
o;o<*F~
(
u*6~
(
*0�u
9�(=
o>
,(8
(?
(@
�+(8
(A
�o'.o(o;(7
u(8
u
�=sB
�>s2
�?s2
,oC
oD
oE
	,	oF
	oG
	oH
o<*{*"}*{*N(I
(B(A*V}(;(<*s*�{- (;}�9s2
(J
*(@*0}
(-(
-(K
(-(�
+(0,(0(�
(3.1(4{-"
(3,(3o�
~	(
*0B(-(
-	(++%(0,(0(L
�(++(+(B*(<*:(((B*:(((B*v(M
-r�p+r�p(N
&*�( (
-r�p+r�p(N
&*0V(*,1(',( (
-rp(N
&*r)p(N
&*('-rGp+rip(N
&*0�r�p�(
�(
�sO
sP
(Q
�r�p�(
�(
�"sO
sP
(Q
�r�p�6(
�(
(Q
�r�p�7(
�(
(Q
�	r�p�"(
�(
�"�)sO
sR
(Q
�
r�p�"(
�(
�"�,sO
sR
(Q
�r�p�(
�(
�/sO
sP
(Q
�rp�(
�(
�2sO
sP
(Q
�
*0){
(T
t|(+
3�*0){
(V
t|(+
3�*0){
(T
t|(+
3�*0){
(V
t|(+
3�*0(.
�	(
(/
s�}sW
}s�}{�vsX
oY
�}s2
(3
�~s2
(Z
�s4
(5
(6
,u(c(�(
o
s�o[
(c(�(
o
s�o[
(c(�(
o
s�o[
*~-rps\
z~o
�"*�-rps\
z~�"o
*0$(=
-+(=
o]
u
,(l*F~(
u7*6~(
*F~(
�
*J~�
(
*0	u	
,oy*F~(
�"*J~�"(
*F~(
�"*J~�"(*0Ju	
,?(-7~(7
((:
(�r/p�(;
s<
z*F~ (
�"*J~ �"(*0Ju	
,?(-7~ (7
((:
(�rCp�(;
s<
z*2~!(
*6~!(
*0	u	
,oz*F~"(
uO*6~"(
*F~#(
u7*6~#(
*F~$(
u*6~$(
*0p(7
u
u	�xsB
{,{oC
},oC
(8
u
	,	oF
{o�oy*{*2{s^
*{*{*{*0�(k-*o��
o��
(j,*o�o_
0+o�o`
o�o�o_
0+o�o`
o�.T(k-*oa
oa
.oa

oa
(b
*(r
,*oc
oc
(j,*o�o�(j,*o�o�(j&*0'","
+od
oe
,*X
of
2�*0G#-,,oe
,T*(k-*uT
uT,,og
T*T*n-,+T*-T*T*05%-*u	
,oy*+(h
(lX(i
2�*0�'(I
�tsj

�ssk
�usl
{,${om
{on
{oo
rip(p
uD}{,5{oq
{or
{(dos
{ot
r�p(p
u}(y(|({*0+{
,ou
*s	*6(f(w*0B,{ov
.,(:
(�{ov
�Q�(;
+(
*0�-,,3*sw

ox
+ox
(y
%-�+Yoz

	-*	1F	Yo{
,-*(i
+(h
3*3*X2�(y
%-�*Fo|
3(w*"(w*0/{
,o}
*0�0o~
,Jo~
o
+!o�
t
,��s�
o�o�
-��ua
	,	o�
�o�
,Qo�
o
+"o�
t,��s�
o�o�
-��ua,o�
�{ov
�(T(y*-Ag/�04uD
9	o�
u9�(Q9�o�o_
-	}+(o�{(i/o�o`
}{s�
	on(�
u,(�
,o�
	o�-&	o�,	o�o�,	o�o�o�
&o�o_
1=o�	o�(i2X%o�o_
]+o�o`
}*0
8o�
u
9�o�
9�o�
o�
9�9�o�
o�
o
oc
(
-oc
+o�
		(�
(�
(�
{o�
,'{o�

{	o�
&{o�
&o�
-Y(I,Q(�,	o�u,s�s�{o[
{o�
*0�9s�

(co�

+7	o�
,-o�3
(N_-o�3(N_,o�
	o�
-��
	,	o�
��hs�
o�
{o�
o�
+(�
{o[
(�
-���o�
�({(z*CU
�!��{,+(Y,{(Yo�
*{(qo�
*�{ov
�(W(V-r�p+r/p(N
&*�(M
,r�p(N
&*r�p(N
&*0Z(`-8{-0(y
u}{,{�xsB
oF
�}s2
(J
}*�{,{�xsB
oC
�~s2
(�
}*"(|*fo�
r�p(�
,(y*0�r�p�"(
�	(
�"�KsO
sR
("
�r�p�7(
�	(
(Q
�r
p�
(
�	(
�
�PsO
sR
(Q
�rp�"(
�	(
�"sR
(Q
�r/p�"(
�	(
�"�UsO
sR
(Q
�rCp�"(
�	(
�"�XsO
sR
(Q
� rEp�(
�	(
�[sO
sP
(Q
�!rSp�O(
�	(
(Q
�"rqp�7(
�	(
(Q
�#rp�(
�	(
�bsO
sP
(Q
�$*"(�*2(�*0@(&
(�(�(�(�s�
(�,
(�o�
*{+*r{+.}+r�p(�*{,*r{,.},r�p(�*{-*�{-(�
,}-r�p(�*{.*�{.(�
,}.r�p(�*{0*"}0*0*=(�
(�
(��(��(;
*0>{/
,
s�
o�
*0)@{/
(T
td|/(+
3�*0)@{/
(V
td|/(+
3�*&(�*V(&
(�(�*{1*"}1*{2*"}2*00Au
-*(�o�(�
,(�o��**0#C(�r�p(�oc
(�

o�
*r(�
(�(�(�*{6*"}6*{7*"}7*{8*"}8*0�(�
�(
(/
s�
}=~>s0
(1
&��s2
(3
��s4
(5
(
�};(6
,�(
o
(�*0>Du
,3(7
,#(8
,(7
o9
(8
o9
.o�*F~?(
�"*f}:~?�"(
*0Du
,o�*F~@(
�"*J~@�"(*0Ju
,?(-7~@(7
((:
(�r�p�(;
s<
z*F~A(
u*6~A(
*0 Du
,o�,
o�o�*F~B(
u*6~B(
*0�Eu
,xo�{=o�
(7
u(8
u��sB

,	oC
,,	oF
(�
o�
1{=o�
o�
o�*{C*"}C*{9*N(I
(�(�*V}:(�(�*�(�
(6
,-�(
o
(�{<-�+};*s*0}<(�
�}<�*(�*�{9- (�}9��s2
(J
*0�G
(�(
-(K
(�(�
+(�,(�(�
(�.p(�(�, (�o�
	, {;,	(�+{;,(�{:-*(�,
(�o�+~?�"(
*n{=o�
�(�(�*0co�
-&{=o�
o�
-A{=o�
o�
+.o�
3%{=o�
o�
,{=o�
o�
&(�*v(M
-r�p+r�p(N
&*v(�-r�p+r�p(N
&*v(�-rp+rp(N
&*0r�p�(
�(
��sO
sP
(Q
�>rp�"(
�(
��sO
sP
(Q
�?r�p�"(
�(
�"��sO
sR
(Q
�@r�p�(
�(
��sO
sP
(Q
�Arp�(
�(
��sO
sP
(Q
�B*0oHs�
(�

+	o�
,o�3o[
	o�
-��
	,	o�
�o�
+o�
(�
&o�
-��,o�
�*
&3
EbN+(�
(v
0�*(�
*~-rps\
z~Do
u*n-rps\
z~Do
*0&JQQ-*-~Do
u
,*o9
Xo�
8��
	o�
�!(
@�	o�
t!o�
,uo�
,mo�
o�
,`o�
-oK
+o�
QP,Do�
o�
3Q+BP,*o�
o�
o�
Po�
o�
o�
(�
/QX�i?I���P,*Po�
o�
o�
P(�~Do
**0�M9�(
:�(�
(�,~s�o�

	+J�uv,	o�+'uw,o�
o�o�
o�X�i2�o�-o
o�**0TR
�x.�o�
,6+,�o�

	,	o�
-*�iY3	*	o�

X�i2�*0"Uuy
,o�
%-&o9
*o9
*(&
*�r5p�(
�(
("
�D*{G*r{G.}Grp(�*{F*�{F(�
,}Fr�p(�*{E*�{E(�
,}Er[p(�*0>{H
,
s�
o�
*0)@{H
(T
td|H(+
3�*0)@{H
(V
td|H(+
3�*(&
*���N?�I�+RSDS���@ޅ�N�]�����System.Windows.Controls.Data.Input.pdbBSJBv4.0hl"#~�"�&#Strings�Il#USO#GUIDO#BlobW�		�%3yZ���IV1]�
*

`N
}N
�
�

�N
��
N
.N
KN
�j��
��
�N
N
3j
HA^��s��
�A
�A
�N�/s]E
gA|E
�A���s��
*AD�
yf
�
��
��
�
!NWApA�E���������'�E�h��A�E��
A
+A
EATEm�����is���E����	E	�
D	)	Q	E
k	A
�	|	�	�	�	�	3


m


~
A�
��


�
A
�
)	
)	
A=(h����E�����nE
�{
�)	��
�{
�A
�{
A6
A�
s�
E:E
i)	{w
�A
�A
�A�A
A
 

XN
bN����
�A
�N2D
�A�NsM2sMFsM	fz���zu��u�E��E�D�E�%�Eu*�$Eu1�@E�3�ZE�6�zEq9��ED��EuD��EuE���EuI�6I��	�	�3	�3	1��6��6��6�6�6+�6;�6P�_6	Q�Q�	Q�e�	�	��	��	��	��	�3	��	��	�	+�	6<�6X�6k�6z�6��6��6��6��6��6P���
V���
V���
V���
V��
S��	�
&�
0�	9�	H�
X�
s �	� ��
V�� �
V�� �
� 3	!7$!�	�3	`!3	v!3	�!3	�Y1��6�!�6+�6;�6P�_6	3{"�1#�	:#�	G#3	H�
V�k#�	V�{#�	V��#�	V��#�	V��#�	V��#�	V��#�	V��#�	V��#�	V��#�	V�	$�	V�$�	V�#$�	V�1$�	V�B$�	V�P$�	V�a$�	V�t$�	� �H�� ��'� �#'!���!�H�$!�#'{!���!��'�!�H��!��'�!�#'�!��9�!����!�"�^	)"���;"�HC"��		t"��
	�"�I��"�H�"��"	�"���#��(	
#�/	
 #�$/	
6#�E/	
L#�g/	
b#��/	
x#�H
�#��:	
6$��'H$��`$��:	}$��D	�$��J	�$�Q	�$�W	�$�.��$�<�$�J:	:%�e�L%�q`%�}:	�%��'�%���%��:	&��^	&��$&��:		'�c	 '�h	 '�2�!"'�Y!6'�B!L'�Jn	!T'�at	!~'��|	#�'��%(��&b(���	&j(��t	(y(�t	*�(�,�(�$,�(�;,0)��		,�*�
,+�!
-<+��
.t+�#
/�+�H0�,�?�0�,�c	1�,�z:	3,-��Q	5>-��W	5L-��
6^-��#
6t-��:	7�-���9�-�9�-��:�-�-:�-�;:	;2.�V�=D.�m=X.��:	>�.��5@�.��N@�.��:	A�.��)
C�.��/
C	/��Q	D/�W	D)/��+E;/��6
EL/��:	F�/�/<
H�/�:F
H�/�2�H�/�NP
H�/�hV
H�/��[
H1��c
J41��p
L�1��p
O�1�x
R�1�YS�2�C
S�2�Jn	T�2�\T3�q'TT3���
T�3���
V4���
X4���
Z44��
\$5�N^H6���	_d7�'aP8�=a�8�;a�8�b�8�]t	cB9�vt	e|9��|	g�9���i�9��		k�;�Hk�;�Hk�;�H�
l�;��5q<��Nq!<���
r)<���
rF<��'sN<��sp<��'tx<��t�<�
 u�<� u�<��'v�<�% v=�	H w@=�	\ xu=�Hy=�H"z�=��'|�=�� |�=�� *}�=�� 0}�=��~�=��#>�H;@>�H!��H>�T!�Q>��
C�Y>�`H�b>��N�j>��S�t>�H�?��:	�N?��!��`?��!�|?��!:	��?�e���?�q��?�}:	�@��'�(@���8@��:	�d@��^	�v@����@��:	�A�c	�A�h	�$A�2��,A�Y�@A�B�VA�5���A�Jn	��A�
"N��A�""|	��A�9"t	�B����B����B���	�[C��yC�F"��C�;��C��		��D�Z"�
�hE�p"�|E�H��E��"c��E��"k��E��"t��F��"���G����H�#��2H�H�:H��		�`H��!��hH��!��H��'��H����H�S#'��H�_#��H�% �I�	H �8I�	\ �mI�H�����vzvv�zvz��z��zzz��z��z��z��zz�z��z�z�z�zzzzVVz��zz��zz��z��z��zzz�����������
<���z�z�z�z�zz�NNz�z�z�z�qqy���zzzzz; zz; ; � zzv<!A!zzz��z��z��z��z��z�!"zz�z��z�f"VVz�"��"�"�"�"�"#(#zzz; zzy��	HHH!H
)H1H9HAHIHQHYHaHiHqHyH�H�H�H�H�� �'�+�#'�n0��5��'��'��9��2?;GHHN	US!H)H1H�H�a�*g9Hm97uQH}iHqHaHa�NyH���H��:��H�a�������5��5���A��$��H�y�������������H���������#��>��K��Y�x���5	��a����H�H		SH)HAt	I�	#A�	$HYH�,J
_�`
�4z
nqH��
+<H|D�
�D�
�a�
���
��'L�
���T�
���
��N��W��H��H��H��������#�a;��L��b���������4�
�\H\z
n���\�\�
�����Q
�
y5!H�R
�	[
Qc
�p
5��
��
%��
,a�
���
5��
31�
5��A���9�'@$.F$�
L4�	F$�	F�US$`YdH4
ily{dz
ntH�d��4�d
�|y{|R
���N����'���aH�HDz
n���H!���'�qH�H�H��	���
���
��z
n�5���
��FF��	F4O
,H�o��y��;�����y��5y���'���U!�i'�x'��'��.���������<�	@�	��
�G��
��
��
�G��
$�(�,�0�4�8	<&@GDRHeL~P�T�X�\�`�d
h
)[B
.sG.�2.�8.{�.�.3�.g.�.�.#�.+G.K".;�.C�.[G.k�.SG.cMI[B
�+G�#G�+L�Gcic�cc1c�c�c�c4k`#c4#�Y#c#c�#k�#c�#k�C+G�#G�c��c�c4�c��c"�cU`+G�+G#G!#GA#G`#G�#G�#G�#G#Ga#G�#G�#G�#G�#G�#G#G�#G�#G�#G�#G#G #G#G #G���	������	����3	�	���6	�
���	
�	(-4E�
PT]bkp|��������7����	���+4=FK�
Q]�	bfk����	���������	
+H�H�	$&)/�<
�$K
�$Q
�$Q
�$Q
Q
�$Q
%U
%Y
%_
,%e
6%e
�U
>%i
�n
E%e
Q%_
\%s
c%e
x%e
�%e
�%x
�%|
�%_
>%�
�%�
�%�
E%e
�%�
�%�
	&x
&�
&U
"&U
0&�
8&U
��
E&e
M&�
>%�
R&e
6%e
�U
>%i
�n
E%e
R&e
%U
]&U
EDFG����	
 !#$&%('+*-.01435!L#M#N%O%Q'R'T)S)V+W+Z-Y-\/]/_1^1a3`3c5d7e9f;g=�?�?�A�A�C�C�E�E�G�G�I�I�K�K�M�M�O�O�Q�Q�S�S�U�U�W�W�Y�Y�[�[�]�_�_�a�a�c�c;�:NWft����as�������
�5�5�5A5>e&k=�&�0�C��<Module>System.Runtime.CompilerServicesRuntimeCompatibilityAttribute.ctorSystem.ReflectionAssemblyFileVersionAttributeAssemblyCompanyAttributeCompilationRelaxationsAttributeExtensionAttributeAssemblyCopyrightAttributeSystem.ResourcesNeutralResourcesLanguageAttributeAssemblyTitleAttributeAssemblyDescriptionAttributeAssemblyConfigurationAttributeSystem.Runtime.InteropServicesComVisibleAttributeSystem.Windows.MarkupXmlnsDefinitionAttributeSystem.Runtime.VersioningTargetFrameworkAttributeAssemblyTrademarkAttributeAssemblyProductAttributeGuidAttributeSystemCLSCompliantAttributeXmlnsPrefixAttributeSystem.Windows.Automation.PeersFrameworkElementAutomationPeerSystem.WindowsFrameworkElementTypeRuntimeTypeHandleGetTypeFromHandleMemberInfoget_NameUIElementget_OwnerGetNameCoreAutomationControlTypeSystem.Windows.ControlsTextBlockStringIsNullOrEmptyContentControlget_Contentget_TextObjectToStringSystem.Windows.Automation.ProviderIInvokeProviderPatternInterfaceGetPatternInvokeDependencyObjectDependencyPropertyBooleanSetValueGetValuePropertyMetadataRegisterAttachedSystem.DiagnosticsDebuggerNonUserCodeAttributeCompilerGeneratedAttributeSystem.CodeDom.CompilerGeneratedCodeAttributeResourceManagerSystem.GlobalizationCultureInfoReferenceEqualsAssemblyget_AssemblyGetStringSystem.ComponentModelEditorBrowsableAttributeEditorBrowsableStateControlTemplateVisualStateAttributeStyleTypedPropertyAttributeset_DefaultStyleKeySystem.Windows.DataBindingBindingExpressionBaseSetBindingRoutedEventArgsRoutedEventHandleradd_LoadedDependencyPropertyChangedEventArgsDependencyPropertyChangedEventHandleradd_IsEnabledChangedDesignerPropertiesget_IsInDesignToolget_OldValueget_NewValueGetTypeControlTemplateStyleget_CurrentCultureIFormatProviderFormatInvalidOperationExceptionEventHandler`1ValidationErrorEventArgsApplicationget_Currentget_IsRunningOutOfBrowserWindowGetWindowSystem.Windows.InputFocusManagerGetFocusedElementremove_BindingValidationErrorremove_GotFocusremove_LostFocusadd_BindingValidationErroradd_GotFocusadd_LostFocusOnApplyTemplateAutomationPeerremove_LoadedBindingExpressionget_DataContextValidationGetHasErrorget_IsEnabledVisualStateManagerGoToStatePropertyChangedCallbackRegisterListBoxTemplatePartAttributeSystem.Collections.GenericDictionary`2SelectionChangedEventArgsDelegateCombineSystem.ThreadingInterlockedCompareExchangeRemoveSystem.Collections.SpecializedNotifyCollectionChangedEventArgsNotifyCollectionChangedEventHandlerSystem.Collections.ObjectModelObservableCollection`1add_CollectionChangedadd_UnloadedCollection`1AddArgumentNullExceptionget_RootVisualDataTemplateReadOnlyObservableCollection`1get_Countget_Itemget_TabIndexInt32CompareToIList`1EqualsICollection`1IComparableSystem.Windows.MediaVisualTreeHelperGetChildGetChildrenCountMouseButtonEventHandlerKeyEventHandlerSelectionChangedEventHandlerMouseButtonEventArgsKeyEventArgsremove_MouseLeftButtonUpremove_KeyDownSystem.Windows.Controls.PrimitivesSelectorremove_SelectionChangedGetTemplateChildadd_MouseLeftButtonUpadd_KeyDownItemsControlSystem.CollectionsIEnumerableset_ItemsSourceadd_SelectionChangedList`1GetParentIndexOfKeyget_KeyIEnumeratorIDisposableIListget_OldItemsGetEnumeratorPropertyChangedEventArgsPropertyChangedEventHandlerMoveNextDisposeget_NewItemsget_SelectedItemFromElementAutomationEventsListenerExistsRaiseAutomationEventFocusget_OriginalSourceValidationErrorget_Errorget_ErrorContentGetHashCodeget_InvariantCultureConcatContainsKeyValidationErrorEventActionget_Actionset_ItemIEnumerator`1EnumeratorComparison`1SortClearset_Contentremove_Unloadedget_PropertyNameop_EqualityEnumFlagsAttributeINotifyPropertyChangedop_InequalityEventArgsGetErrorsReadOnlyCollection`1OnContentChangedContainsRemoveAtFieldInfoBindingFlagsGetFieldsget_FieldTypeGetBindingExpressionget_ParentBindingPropertyPathget_Pathget_DataItemBindingModeget_ModeStringComparisonComparePropertyInfoSystem.ComponentModel.DataAnnotationsRequiredAttributeDisplayAttributeGetCustomAttributesGetDescriptionGetNameCharSplitGetPropertyget_CanReadget_PropertyTypeICustomTypeProviderGetCustomTypeSystem.Windows.Controls.Data.Input.dllmscorlibSystem.CoreDescriptionViewerAutomationPeerLabelAutomationPeerValidationSummaryAutomationPeerExtensionPropertiesSystem.Windows.Controls.CommonExtensionsResourcesSystem.Windows.Controls.Data.InputDescriptionViewerValidationSummaryValidationSummaryFiltersValidationSummaryItemValidationSummaryItemSourceValidationSummaryItemTypeFocusingInvalidControlEventArgsLabelValidationItemCollectionValidationHelperValidationMetadataVisualStatesownerGetClassNameCoreGetAutomationControlTypeCorepatternInterfaceSystem.Windows.Automation.Provider.IInvokeProvider.InvokeAreHandlersSuspendedSetAreHandlersSuspendedobjvalueGetAreHandlersSuspended.cctorSetValueNoCallbackpropertyresourceManresourceCultureget_ResourceManagerget_Cultureset_Cultureget_UnderlyingPropertyIsReadOnlyget_ValidationSummaryHeaderErrorget_ValidationSummaryHeaderErrorsget_ValidationSummaryItemget_ValidationSummarySampleError_descriptionOverridden_initializedDataContextPropertyDescriptionPropertyGlyphTemplatePropertyToolTipStylePropertyIsFocusedPropertyIsValidPropertyPropertyPathPropertyTargetProperty<ValidationMetadata>k__BackingFieldOnDataContextPropertyChangeddeget_Descriptionset_DescriptionOnDescriptionPropertyChangeddepObjget_GlyphTemplateset_GlyphTemplateget_ToolTipStyleset_ToolTipStyleget_IsFocusedset_IsFocusedOnIsFocusedPropertyChangedget_IsValidset_IsValidOnIsValidPropertyChangedget_PropertyPathset_PropertyPathOnPropertyPathPropertyChangedget_Targetset_TargetOnTargetPropertyChangedget_ValidationMetadataset_ValidationMetadataget_InitializedRefreshOnCreateAutomationPeerDescriptionViewer_LoadedsenderDescriptionViewer_IsEnabledChangedLoadMetadataforceUpdateParseTargetValidStateTarget_BindingValidationErrorTarget_GotFocusTarget_LostFocusUpdateCommonStateUpdateDescriptionStateUpdateValidationStatePART_SummaryListBoxPART_HeaderContentControl_currentValidationSummaryItemSource_displayedErrors_errors_errorsListBox_headerContentControl_registeredParent_validationSummaryItemDictionaryFocusingInvalidControlSelectionChangedShowErrorsInSummaryPropertyErrorStylePropertyFilterPropertyFocusControlsOnClickPropertyHasErrorsPropertyHasDisplayedErrorsPropertyHeaderPropertyHeaderTemplatePropertySummaryListBoxStylePropertyadd_FocusingInvalidControlremove_FocusingInvalidControlGetShowErrorsInSummaryinputControlSetShowErrorsInSummaryOnShowErrorsInSummaryPropertyChangedoget_ErrorStyleset_ErrorStyleget_Filterset_FilterOnFilterPropertyChangedget_FocusControlsOnClickset_FocusControlsOnClickget_HasErrorsset_HasErrorsOnHasErrorsPropertyChangedget_HasDisplayedErrorsset_HasDisplayedErrorsOnHasDisplayedErrorsPropertyChangedget_Headerset_HeaderOnHasHeaderPropertyChangedget_HeaderTemplateset_HeaderTemplateget_SummaryListBoxStyleset_SummaryListBoxStyleget_Errorsget_DisplayedErrorsget_ErrorsListBoxInternalget_HeaderContentControlInternalCompareValidationSummaryItemsxyFindMatchingErrorSourcesourcessourceToFindTryCompareReferencesreturnValReferencesAreValidvalUpdateDisplayedErrorsOnAllValidationSummariesparentOnFocusingInvalidControlExecuteClickInternalGetHeaderStringSortByVisualTreeOrderingcontrolXcontrolYErrorsListBox_KeyDownErrorsListBox_MouseLeftButtonUpErrorsListBox_SelectionChangedErrors_CollectionChangedExecuteClickUpdateDisplayedErrorsUpdateHeaderTextuseTransitionsValidationSummary_LoadedValidationSummary_UnloadedValidationSummary_IsEnabledChangedValidationSummaryItem_PropertyChangedvalue__NoneObjectErrorsPropertyErrorsAllPROPERTYNAME_ITEMTYPE_context_itemType_message_messageHeaderPropertyChanged<Sources>k__BackingFieldmessagemessageHeaderitemTypesourcecontextget_Contextset_Contextget_ItemTypeset_ItemTypeget_Messageset_Messageget_MessageHeaderset_MessageHeaderget_Sourcesset_SourcesNotifyPropertyChangedpropertyNameadd_PropertyChangedremove_PropertyChanged<PropertyName>k__BackingField<Control>k__BackingFieldcontrolset_PropertyNameget_Controlset_ControlObjectErrorPropertyError<Handled>k__BackingField<Item>k__BackingField<Target>k__BackingFielditemtargetget_Handledset_Handled_isRequiredOverridden_canContentUseMetaData_isContentBeingSetInternallyIsRequiredPropertyget_IsRequiredset_IsRequiredOnIsRequiredPropertyChangedoldContentnewContentSetContentInternallyLabel_IsEnabledChangedLabel_LoadedUpdateRequiredStateClearErrorserrorTypeClearItemsValidationMetadataPropertyGetValidationMetadataSetValidationMetadataParseMetadataelemententitybindingExpressionbindingPathentityTypepropertyPathGetCustomOrCLRTypeinstance_caption_description_isRequiredget_Captionset_CaptionGroupValidationStateValidStateInvalidStateValidFocusedStateValidUnfocusedStateInvalidFocusedStateInvalidUnfocusedStateEmptyStateHasErrorsGroupCommonStateNormalStateDisabledGroupRequiredStateNotRequiredStateRequiredGroupDescriptionStateNoDescriptionStateHasDescriptionCultureUnderlyingPropertyIsReadOnlyValidationSummaryHeaderErrorValidationSummaryHeaderErrorsValidationSummarySampleErrorDescriptionGlyphTemplateToolTipStyleIsFocusedIsValidTargetInitializedErrorStyleFilterFocusControlsOnClickHasErrorsHasDisplayedErrorsHeaderHeaderTemplateSummaryListBoxStyleErrorsDisplayedErrorsErrorsListBoxInternalHeaderContentControlInternalContextItemTypeMessageMessageHeaderSourcesPropertyNameHandledItemIsRequiredCaptionSystem.Windows.Controls.Data.Input.g.resourcesSystem.Windows.Controls.Resources.resourcesLabel)AreHandlersSuspendedCSystem.Windows.Controls.Resources9UnderlyingPropertyIsReadOnly9ValidationSummaryHeaderError;ValidationSummaryHeaderErrors+ValidationSummaryItem9ValidationSummarySampleErrorIsFocusedIsValidDisabled
NormalHasDescriptionNoDescriptionValidFocusedValidUnfocused!InvalidUnfocusedInvalidFocusedDataContextDescriptionGlyphTemplateToolTipStylePropertyPath
TargetinputControlHasErrors%HasDisplayedErrorsSummaryListBox)HeaderContentControlEmptyItemType'ShowErrorsInSummaryErrorStyle
Filter)FocusControlsOnClick
HeaderHeaderTemplate'SummaryListBoxStyleContextMessageMessageHeader.NotRequiredRequiredInvalidValidIsRequired%ValidationMetadataCaption��&�&@��՗5
�      QUY  a  } �� �� 
��UU�� �� �� �� �� ������  �� �� U��	���� ���������� �������� �
 �
�!�!�!��8	
��8���

����,�1, �-�5, �A,
 �1�50   �I0 �M0 	������ �Y �] �a �� �u �y������  �} �� ����a�� �� �� ��   �� �y,	 ����, ��,
 ��	 ����,�10 ��
���y��
�A�������� 	 ����  ��� �� �� ����   ��|�׾�y����M>g�@3System.Resources.Tools.StronglyTypedResourceBuilder2.0.0.07TName
NoDescriptionT	GroupNameDescriptionStates8TNameHasDescriptionT	GroupNameDescriptionStates5TNameValidFocusedT	GroupNameValidationStates+TNameNormalT	GroupNameCommonStates��TPropertyToolTipStyleTPStyleTargetTyperSystem.Windows.Controls.ToolTip, System.Windows, Version=5.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e-TNameDisabledT	GroupNameCommonStates7TNameValidUnfocusedT	GroupNameValidationStates7TNameInvalidFocusedT	GroupNameValidationStates9TNameInvalidUnfocusedT	GroupNameValidationStates��TPropertySummaryListBoxStyleTPStyleTargetTyperSystem.Windows.Controls.ListBox, System.Windows, Version=5.0.5.0, Culture=neutral, Publickeytoken=7cec85d7bea7798e.TNameEmptyT	GroupNameValidationStates��TProperty
ErrorStyleTPStyleTargetTypevSystem.Windows.Controls.ListBoxItem, System.Windows, Version=5.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e��TNameSummaryListBoxTPTyperSystem.Windows.Controls.ListBox, System.Windows, Version=5.0.5.0, Culture=neutral, Publickeytoken=7cec85d7bea7798e2TName	HasErrorsT	GroupNameValidationStates2TNameNotRequiredT	GroupNameRequiredStates/TNameRequiredT	GroupNameRequiredStates.TNameValidT	GroupNameValidationStates0TNameInvalidT	GroupNameValidationStates   e < $����
������������H	���� �� �� �� �� Q H H �� �� �� ��SummaryListBox(HeaderContentControl0@�qQ	�,��8	���
 ��8 ��� ( ( �= �= a	 �1,	 �A, � q,,�I00�� 8	���� �i �e � �)(ItemType4���10
 40 4 4	 �10
 �10 ���� �� �� ��, ,0 , , 0 0	�y��H����H
HQ�H��UU ValidationStates
ValidInvalidValidFocusedValidUnfocusedInvalidFocused InvalidUnfocused
EmptyHasErrorsCommonStatesNormalDisabledRequiredStatesNotRequiredRequired"DescriptionStatesNoDescriptionHasDescription����((��(��((Q(H((((�=(a	(�1,	(�A,(�(q(4	(�10(��(,(0��$��$RSA1����g�w:�މ8���e� `Y>�Ēe���?�?�1��3��`!g-��1���
�/%�}�o��Y���5�L9�EC��;�&=����o��GP�\d��E��k*+G��e+��]�TWrapNonExceptionThrows5.0.61118.0Microsoft Corporation3.© Microsoft Corporation. All rights reserved.
en-us'"System.Windows.Controls.Data.Input$Silverlight Data Input ControlsZ=http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdkSystem.Windows.ControlsBSilverlight,Version=v4.0TFrameworkDisplayName
Silverlight 4Microsoft® Silverlight)$0a233d31-1d81-49cb-902b-83c87101e849F=http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdksdk  <i<i$$$��<  QQ��������	������	H����8��8��8���������Q$Q$����Q
�����Q�Q�Q$�����Y�]�a�Y�]�a	��8�y����������	�y��
���,,�������������,88
Q,�H,�y,,,��,��,�y,��,��,��������0<<QQ�����A��	�A��
H�@,,��,��,H�����H������	U��H����U������U������g=����lSystem.Resources.ResourceReader, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSetPADPADPo��&themes/generic.xaml!{<<!--
// (c) Copyright Microsoft Corporation.
// This source is subject to [###LICENSE_NAME###].
// Please see [###LICENSE_LINK###] for details.
// All other rights reserved.
-->

<ResourceDictionary
	xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
	xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
	xmlns:ctl="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data.Input"
	xmlns:sys="clr-namespace:System;assembly=mscorlib"
	xmlns:vsm="clr-namespace:System.Windows;assembly=System.Windows">

	<!--ValidationSummary-->
	<Style TargetType="ctl:ValidationSummary">
		<Setter Property="IsTabStop" Value="False"/>
		<Setter Property="Background" Value="#FFEFEFEA"/>
		<Setter Property="BorderBrush" Value="#FFCECEC7"/>
		<Setter Property="BorderThickness" Value="1"/>
		<Setter Property="Padding" Value="0"/>
		<Setter Property="HeaderTemplate">
			<Setter.Value>
				<DataTemplate>
					<Border Background="#FFDC020D" CornerRadius="2" x:Name="Header" Margin="-1,-1,-1,0">
						<StackPanel Margin="6,2,6,4" Orientation="Horizontal" VerticalAlignment="Top">
							<Grid Height="13" Width="13">
								<Ellipse Margin="0" RenderTransformOrigin="0.5,0.5" >
									<Ellipse.Stroke>
										<LinearGradientBrush StartPoint="0.505,0.65" EndPoint="0.5,0.058">
											<GradientStop Color="#FFCA000C" Offset="0"/>
											<GradientStop Color="#FFFF9298" Offset="0.991"/>
										</LinearGradientBrush>
									</Ellipse.Stroke>
									<Ellipse.Fill>
										<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
											<GradientStop Color="#FFFFFFFF" Offset="0"/>
											<GradientStop Color="#FFFDC8C8" Offset="1"/>
										</LinearGradientBrush>
									</Ellipse.Fill>
								</Ellipse>
								<Path Fill="#DDD43940" Data="M5.5,2.5 L7.5,2.5 L7.5,8 L5.5,8 M5.5,9.5 L7.5,9.5 L7.5,10.5 L5.5,10.5"/>
							</Grid>
							<TextBlock Padding="4,1,0,0" Text="{Binding}" Foreground="#FFFFFFFF" FontWeight="Bold"/>
						</StackPanel>
					</Border>
				</DataTemplate>
			</Setter.Value>
		</Setter>
		<Setter Property="ErrorStyle">
			<Setter.Value>
				<Style TargetType="ListBoxItem">
					<Setter Property="Template">
						<Setter.Value>
							<ControlTemplate TargetType="ListBoxItem">
								<Grid Background="{TemplateBinding Background}">
									<vsm:VisualStateManager.VisualStateGroups>
										<vsm:VisualStateGroup x:Name="CommonStates">
											<vsm:VisualState x:Name="Normal"/>
											<vsm:VisualState x:Name="MouseOver">
												<Storyboard>
													<DoubleAnimation Storyboard.TargetName="FillColor" Storyboard.TargetProperty="Opacity" Duration="0" To=".35"/>
												</Storyboard>
											</vsm:VisualState>
											<vsm:VisualState x:Name="Disabled">
												<Storyboard>
													<DoubleAnimation Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Opacity" Duration="0" To=".55" />
												</Storyboard>
											</vsm:VisualState>
										</vsm:VisualStateGroup>
										<vsm:VisualStateGroup x:Name="SelectionStates">
											<vsm:VisualState x:Name="Unselected"/>
											<vsm:VisualState x:Name="Selected">
												<Storyboard>
													<DoubleAnimation Storyboard.TargetName="FillColor2" Storyboard.TargetProperty="Opacity" Duration="0" To=".75"/>
												</Storyboard>
											</vsm:VisualState>
										</vsm:VisualStateGroup>
										<vsm:VisualStateGroup x:Name="FocusStates">
											<vsm:VisualState x:Name="Focused">
												<Storyboard>
													<ObjectAnimationUsingKeyFrames Storyboard.TargetName="FocusVisualElement" Storyboard.TargetProperty="Visibility" Duration="0">
														<DiscreteObjectKeyFrame KeyTime="0" Value="Visible"/>
													</ObjectAnimationUsingKeyFrames>
												</Storyboard>
											</vsm:VisualState>
											<vsm:VisualState x:Name="Unfocused"/>
										</vsm:VisualStateGroup>
									</vsm:VisualStateManager.VisualStateGroups>
									<Rectangle x:Name="FillColor" Opacity="0" Fill="#59F7D8DB" IsHitTestVisible="False" RadiusX="1" RadiusY="1"/>
									<Rectangle x:Name="FillColor2" Opacity="0" Fill="#FFF7D8DB" IsHitTestVisible="False" RadiusX="1" RadiusY="1"/>
									<ContentPresenter x:Name="ContentPresenter" Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" HorizontalAlignment="Left" Margin="{TemplateBinding Padding}"/>
									<Rectangle x:Name="FocusVisualElement" Stroke="#FFF7D8DB" StrokeThickness="1" Visibility="Collapsed" RadiusX="1" RadiusY="1" />
								</Grid>
							</ControlTemplate>
						</Setter.Value>
					</Setter>
				</Style>
			</Setter.Value>
		</Setter>
		<Setter Property="Template">
			<Setter.Value>
				<ControlTemplate TargetType="ctl:ValidationSummary">
					<Grid x:Name="ValidationSummary">
						<vsm:VisualStateManager.VisualStateGroups>
							<vsm:VisualStateGroup x:Name="CommonStates">
								<vsm:VisualState x:Name="Normal"/>
								<vsm:VisualState x:Name="Disabled">
									<Storyboard>
										<ObjectAnimationUsingKeyFrames Storyboard.TargetName="DisabledVisual" Storyboard.TargetProperty="Visibility" Duration="0">
											<DiscreteObjectKeyFrame KeyTime="0" Value="Visible"/>
										</ObjectAnimationUsingKeyFrames>
									</Storyboard>
								</vsm:VisualState>
							</vsm:VisualStateGroup>
							<vsm:VisualStateGroup x:Name="ValidationStates">
								<vsm:VisualState x:Name="Empty">
									<Storyboard>
										<ObjectAnimationUsingKeyFrames Storyboard.TargetName="Content" Storyboard.TargetProperty="Visibility" Duration="0">
											<DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>
										</ObjectAnimationUsingKeyFrames>
									</Storyboard>
								</vsm:VisualState>
								<vsm:VisualState x:Name="HasErrors"/>
							</vsm:VisualStateGroup>
						</vsm:VisualStateManager.VisualStateGroups>
						<Border x:Name="Content" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" CornerRadius="0,0,2,2">
							<Grid>
								<Grid.RowDefinitions>
									<RowDefinition Height="Auto"/>
									<RowDefinition Height="*"/>
								</Grid.RowDefinitions>
								<ListBox x:Name="SummaryListBox" Grid.Row="1" Background="{x:Null}" BorderThickness="0" Height="Auto" ItemContainerStyle="{TemplateBinding ErrorStyle}" Style="{TemplateBinding SummaryListBoxStyle}" Padding="{TemplateBinding Padding}" Foreground="{TemplateBinding Foreground}">
									<ListBox.ItemTemplate>
										<DataTemplate>
											<StackPanel Orientation="Horizontal">
												<TextBlock Text="{Binding MessageHeader}" FontWeight="Bold" Margin="4,0,0,0"/>
												<TextBlock Text="{Binding Message}" Margin="4,0,0,0"/>
											</StackPanel>
										</DataTemplate>
									</ListBox.ItemTemplate>
								</ListBox>
								<Border x:Name="DisabledVisual" Visibility="Collapsed" Background="#80FFFFFF" Grid.RowSpan="2" IsHitTestVisible="True"/>
								<ContentControl x:Name="HeaderContentControl" ContentTemplate="{TemplateBinding HeaderTemplate}" Content="{TemplateBinding Header}" IsTabStop="False" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Center"/>
							</Grid>
						</Border>
					</Grid>
				</ControlTemplate>
			</Setter.Value>
		</Setter>
	</Style>

	<!--Label-->
	<Style TargetType="ctl:Label">
		<Setter Property="IsTabStop" Value="False"/>
		<Setter Property="HorizontalContentAlignment" Value="Left"/>
		<Setter Property="Template">
			<Setter.Value>
				<ControlTemplate TargetType="ctl:Label">
					<Grid>
						<vsm:VisualStateManager.VisualStateGroups>
							<vsm:VisualStateGroup x:Name="CommonStates">
								<vsm:VisualState x:Name="Normal"/>
								<vsm:VisualState x:Name="Disabled"/>
							</vsm:VisualStateGroup>
							<vsm:VisualStateGroup x:Name="ValidationStates">
								<vsm:VisualState x:Name="Valid"/>
								<vsm:VisualState x:Name="Invalid">
									<Storyboard>
										<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentControl" Storyboard.TargetProperty="Foreground" Duration="0:0:1.5">
											<DiscreteObjectKeyFrame KeyTime="0">
												<DiscreteObjectKeyFrame.Value>
													<SolidColorBrush Color="Red" />
												</DiscreteObjectKeyFrame.Value>
											</DiscreteObjectKeyFrame>
										</ObjectAnimationUsingKeyFrames>
									</Storyboard>
								</vsm:VisualState>
							</vsm:VisualStateGroup>
							<vsm:VisualStateGroup x:Name="RequiredStates">
								<vsm:VisualState x:Name="NotRequired"/>
								<vsm:VisualState x:Name="Required">
									<Storyboard>
										<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentControl" Storyboard.TargetProperty="FontWeight" Duration="0">
											<DiscreteObjectKeyFrame KeyTime="0" Value="SemiBold"/>
										</ObjectAnimationUsingKeyFrames>
									</Storyboard>
								</vsm:VisualState>
							</vsm:VisualStateGroup>
						</vsm:VisualStateManager.VisualStateGroups>
						<Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}" CornerRadius="2">
							<ContentControl x:Name="ContentControl" Foreground="{TemplateBinding Foreground}" Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" FontWeight="{TemplateBinding FontWeight}" Cursor="{TemplateBinding Cursor}" HorizontalAlignment="{TemplateBinding HorizontalAlignment}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" FontFamily="{TemplateBinding FontFamily}" FontSize="{TemplateBinding FontSize}" FontStretch="{TemplateBinding FontStretch}" VerticalAlignment="{TemplateBinding VerticalAlignment}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" IsTabStop="False" />
						</Border>
					</Grid>
				</ControlTemplate>
			</Setter.Value>
		</Setter>
	</Style>

	<!--DescriptionViewer-->
	<Style TargetType="ctl:DescriptionViewer">
		<Setter Property="IsTabStop" Value="False"/>
		<Setter Property="GlyphTemplate">
			<Setter.Value>
				<ControlTemplate TargetType="Button">
					<Grid Width="15" Height="15">
						<vsm:VisualStateManager.VisualStateGroups>
							<vsm:VisualStateGroup x:Name="CommonStates">
								<vsm:VisualState x:Name="Normal"/>
								<vsm:VisualState x:Name="MouseOver">
									<Storyboard>
										<DoubleAnimation Storyboard.TargetName="Icon" Storyboard.TargetProperty="Opacity" To="1" Duration="0"/>
									</Storyboard>
								</vsm:VisualState>
								<vsm:VisualState x:Name="Pressed">
									<Storyboard>
										<DoubleAnimation Storyboard.TargetName="Icon" Storyboard.TargetProperty="Opacity" To="1" Duration="0"/>
									</Storyboard>
								</vsm:VisualState>
								<vsm:VisualState x:Name="Disabled"/>
							</vsm:VisualStateGroup>
						</vsm:VisualStateManager.VisualStateGroups>
						<Grid x:Name="Icon" Opacity="0.6" Width="13" Height="13" HorizontalAlignment="Center" VerticalAlignment="Center">
							<Ellipse>
								<Ellipse.Stroke>
									<LinearGradientBrush EndPoint="0.298,0.3" StartPoint="0.505,0.65">
										<GradientStop Color="#FF485E6F"/>
										<GradientStop Color="#4C485E6F" Offset="1"/>
									</LinearGradientBrush>
								</Ellipse.Stroke>
								<Ellipse.Fill>
									<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
										<GradientStop Color="#FFCED4D9" Offset="1"/>
										<GradientStop Color="#FFFDFDFD" Offset="0"/>
									</LinearGradientBrush>
								</Ellipse.Fill>
							</Ellipse>
							<StackPanel Height="Auto" Width="3" HorizontalAlignment="Center" VerticalAlignment="Center">
								<Path Height="9" HorizontalAlignment="Center" Margin="0,0,0,1" VerticalAlignment="Top" Width="3" Data="M0.5,0.60000002 C0.5,0.54477155 0.54477155,0.5 0.60000002,0.5 L2.4000001,0.5 C2.4552286,0.5 2.5,0.54477155 2.5,0.60000002 L2.5,1.6215254 C2.5,1.6767539 2.4552286,1.7215254 2.4000001,1.7215254 L0.60000002,1.7215254 C0.54477155,1.7215254 0.5,1.6767539 0.5,1.6215254 z M0.50000548,3.3151906 C0.50000548,3.2599623 0.54477704,3.2151906 0.60000551,3.2151906 L2.4000056,3.2151906 C2.4552341,3.2151906 2.5000055,3.2599623 2.5000055,3.3151906 L2.5000055,8.4000092 C2.5000055,8.4552374 2.4552341,8.5000095 2.4000056,8.5000095 L0.60000551,8.5000095 C0.54477704,8.5000095 0.50000548,8.4552374 0.50000548,8.4000092 z" Stretch="Fill" Stroke="#00000000">
									<Path.Fill>
										<LinearGradientBrush EndPoint="0.39,0.297" StartPoint="0.413,0.653">
											<GradientStop Color="#FF485E6F"/>
											<GradientStop Color="#4C485E6F" Offset="0.781"/>
											<GradientStop Color="#FF485E6F" Offset="0.982"/>
										</LinearGradientBrush>
									</Path.Fill>
								</Path>
							</StackPanel>
						</Grid>
					</Grid>
				</ControlTemplate>
			</Setter.Value>
		</Setter>
		<Setter Property="ToolTipStyle">
			<Setter.Value>
				<Style TargetType="ToolTip">
					<Setter Property="Placement" Value="Right"/>
					<Setter Property="IsHitTestVisible" Value="True"/>
					<Setter Property="MaxWidth" Value="250"/>
					<Setter Property="Margin" Value="5,-3,5,0"/>
					<Setter Property="ContentTemplate">
						<Setter.Value>
							<DataTemplate>
								<TextBlock TextWrapping="Wrap" Text="{Binding}" />
							</DataTemplate>
						</Setter.Value>
					</Setter>
				</Style>
			</Setter.Value>
		</Setter>
		<Setter Property="Template">
			<Setter.Value>
				<ControlTemplate TargetType="ctl:DescriptionViewer">
					<StackPanel Orientation="Horizontal">
						<vsm:VisualStateManager.VisualStateGroups>
							<vsm:VisualStateGroup x:Name="DescriptionStates">
								<vsm:VisualState x:Name="NoDescription"/>
								<vsm:VisualState x:Name="HasDescription">
									<Storyboard>
										<ObjectAnimationUsingKeyFrames Storyboard.TargetName="DescriptionContent" Storyboard.TargetProperty="Visibility" Duration="0">
											<DiscreteObjectKeyFrame KeyTime="0" Value="Visible"/>
										</ObjectAnimationUsingKeyFrames>
									</Storyboard>
								</vsm:VisualState>
							</vsm:VisualStateGroup>
						</vsm:VisualStateManager.VisualStateGroups>
						<Border Background="{TemplateBinding Background}" Width="{TemplateBinding Width}" Height="{TemplateBinding Height}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}">
							<Button x:Name="DescriptionContent" Visibility="Collapsed" IsTabStop="False" Template="{TemplateBinding GlyphTemplate}" Background="#00000000" BorderBrush="#FFFFFFFF" BorderThickness="1" Padding="1"  HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}">
								<ToolTipService.ToolTip>
									<ToolTip Style="{TemplateBinding ToolTipStyle}" PlacementTarget="{Binding RelativeSource={RelativeSource TemplatedParent}}" Content="{TemplateBinding Description}"/>
								</ToolTipService.ToolTip>
							</Button>
						</Border>
					</StackPanel>
				</ControlTemplate>
			</Setter.Value>
		</Setter>
	</Style>
</ResourceDictionary>
o����lSystem.Resources.ResourceReader, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSetPADPADPQ:������� �/X�5\u�z�=8UnderlyingPropertyIsReadOnly8ValidationSummaryHeaderErrorA:ValidationSummaryHeaderErrorsJ*ValidationSummaryItemV8ValidationSummarySampleError`?{0} cannot be set because the underlying property is read only.1 Error
{0} Errors{0}: {1}Sample Error�� �_CorDllMainmscoree.dll�% @�0�HX�d4VS_VERSION_INFO������?DVarFileInfo$Translation��StringFileInfo�000004b0X CommentsSilverlight Data Input ControlsLCompanyNameMicrosoft Corporationp#FileDescriptionSystem.Windows.Controls.Data.Input@FileVersion5.0.611181235p'InternalNameSystem.Windows.Controls.Data.Input.dll�.LegalCopyright� Microsoft Corporation. All rights reserved.x'OriginalFilenameSystem.Windows.Controls.Data.Input.dllPProductNameMicrosoft� SilverlightDProductVersion5.0.6111812358Assembly Version5.0.5.0FE2X�0<�0�s	*�H��
��d0�`10	+0h
+�7�Z0X03
+�70%� ��<<<Obsolete>>>0!0	+H�׸��ݬ"���ާ8=wj��10�`0�L�
.��P�\��0	+0p1+0)U"Copyright (c) 1997 Microsoft Corp.10UMicrosoft Corporation1!0UMicrosoft Root Authority0
070822223102Z
120825070000Z0y10	UUS10U
Washington10URedmond10U
Microsoft Corporation1#0!UMicrosoft Code Signing PCA0�"0
	*�H��
�0�
��y}�]�E9�4�1�%5Iw����Eq��F�Ԍ�kLRb��M�Il/$>e��#�H�u�E���P�%+��
#�A$�b��E��J�ͳ/"�J-|o�;�99ݽ)�f;-2��'H��l�����c��\������򸔣�8�P�'�N�0�=��=����l9�.4��.�
}b�xf��s
����� �O�c�,�2E�J�;PS�fQy����V>��P�n�5�{$�Rf=�N�+~3n�Gў�J�n�����S���0��0U%0
+0��U��0���[�p�ir�#Q~�M��ˡr0p1+0)U"Copyright (c) 1997 Microsoft Corp.10UMicrosoft Corporation1!0UMicrosoft Root Authority���<<��>�c��@0U�0�0U��vp[����N�QD.�Dc�0U�0	+�{��~J&�μNt�X't*u����L�xM����i��|�C�ʇ�S�Ÿ�Vo�cD�D�Ț���
����)}��s���9�=�j�8m҈�#����i	������4�|�.�)��Bk(q�8��
�]hͽ�Akf�����4��|z���B�{������
�p֒�O�8�|-�=�4b7��j#��\c��Z�9�`�U�3�;����_��,���˫� ��0� 
*�R�A�^0�(i��p��΀Brv0�z0�b�
a��0
	*�H��
0y10	UUS10U
Washington10URedmond10U
Microsoft Corporation1#0!UMicrosoft Code Signing PCA0
110221205312Z
120521205312Z0��10	UUS10U
Washington10URedmond10U
Microsoft Corporation1
0UMOPR10UMicrosoft Corporation0�"0
	*�H��
�0�
��qt�ۜ/��c�����p��G*��Z��M�;�!��}|?��v%:ܠO �r�Cq�l����%���]�7�.ū�`q��'�3��֓�U˃����ca�����Fc7�<W�H S��X���ʶFl
�:Φ��ݪ�p�[���?�٤��n����:��J�,��Av	�lg �1�>k�@��p0�0羌�/�Ԇ?Z��h��|�JnYC H����E��Lb΢��%�б��${�|�\N�g����0��0U%0
+0U�r��b_ݣt�_�A�[C&0U��0U#0���vp[����N�QD.�Dc�0DU=0;09�7�5�3http://crl.microsoft.com/pki/crl/products/CSPCA.crl0H+<0:08+0�,http://www.microsoft.com/pki/certs/CSPCA.crt0
	*�H��
�``'�|0IGA7<^u��6H�,X��|�������m��0�!cAF�ׯ(K�6}@T`�b��i�_Ň��|��Y}ۈ�wx�$�d�NQ�D(�,T(r�=,�'oѥa��b:�N/�g}�cC?;��z�x@��x· ���`�R\v�x�cuk���F��YR�{������,~0�1K��Z��x��~`�
�1�r�>g�8�8�9s�;�4߃Ҝ����d_��.�2%vi%�Ս5#��%D0��0���j�O�%��EXzg�0
	*�H��
0p1+0)U"Copyright (c) 1997 Microsoft Corp.10UMicrosoft Corporation1!0UMicrosoft Root Authority0
060916010447Z
190915070000Z0y10	UUS10U
Washington10URedmond10U
Microsoft Corporation1#0!UMicrosoft Timestamping PCA0�"0
	*�H��
�0�
��7n���BJq��H>S����,2�ORȃ�>3�I1�(��d�P���K���u��Ǩծipfx'f趷���Y")/�@�Vv�mdmJT���޿��ǀ�L7����VhG��v\/}�%�V[jc��|<��%M9wt]�\؆7,u��9	|v��lnz��>���q_*Ob`2�҃N+"\hE��/�P����l�%���ׅ�vs6ƕz��`���3���[�A�X��n�,H�o�C�j�&�k��(0�$0U%0
+0��U��0���[�p�ir�#Q~�M��ˡr0p1+0)U"Copyright (c) 1997 Microsoft Corp.10UMicrosoft Corporation1!0UMicrosoft Root Authority���<<��>�c��@0	+�70Uo�N?��4�K�����;AC��0	+�7
SubCA0U�0U�0�0
	*�H��
��M1�|P���a�pE��sT�?	-��QS��9���Vތ�;���ɷ�Q!oi~k�"F�l�m|"�Fӄ���6��~�p]E�����ݎ��*�|�ɮ2Շ��c�6�!�v�;��s�!�ش�T���eJ�(&�`�;�exH�ϭ�:O�bX�0��9���9��!�d�c��C/{F����e�J��t��n̝�(a|H��!8��Ŗ2��@�S=�����f7��"��̰wTQ:�rD�#�0��0���
a�00
	*�H��
0y10	UUS10U
Washington10URedmond10U
Microsoft Corporation1#0!UMicrosoft Timestamping PCA0
080725190115Z
130725191115Z0��10	UUS10U
Washington10URedmond10U
Microsoft Corporation1
0UMOPR1'0%UnCipher DSE ESN:85D3-305C-5BCF1%0#UMicrosoft Time-Stamp Service0�"0
	*�H��
�0�
��-����g%�&b�K�0��8��e4�6�$h�����{b,F�K�Q4��l�Z;���G=.5kE��<�f�i�J�',�<w[��p�KW�Я-����)��Ϟb�rT�;��?��Xl����u7����(����������=���2Ƞd��&qS��'vI�q��2x��lO"e�bMF/�#���p����2�+�@���,�l��2}��~�/2�f��EU���-g�g)���Z�#���0��0U�����i�YhN���zݛ.0U#0�o�N?��4�K�����;AC��0DU=0;09�7�5�3http://crl.microsoft.com/pki/crl/products/tspca.crl0H+<0:08+0�,http://www.microsoft.com/pki/certs/tspca.crt0U%0
+0U��0
	*�H��
�
?w_�<��5���V���/��?qՆ|w����|��
EH��i,�>gbT��'�9��هN��`G#{'@��
1��5��Ӌ�xaŵ�A�>6�X�'�:ڽ]��L��<��b��f���(�2��1	��"hFL��s"�)�"�V�����4�(�Jb����G�
��X;�k	i��H|U�?_8C��?�/�Os	=��^���7�da�M�=p�[���ԣ1�d֖�z?*[FS	<��?ỶSa1��0��0��0y10	UUS10U
Washington10URedmond10U
Microsoft Corporation1#0!UMicrosoft Code Signing PCA
a��0	+���0	*�H��
	1
+�70
+�710
+�70#	*�H��
	1�s�����`�r�8��0x
+�71j0h�N�LSystem.Windows.Controls.Data.Input.dll��http://microsoft.com0
	*�H��
�M�#tӯ�c�Y��I�J(��
��1��$sn�O�vr����\֏E"\��2��JF�c�����A��:*�`�.Y�v�7���q�	�R@�@�,����6	On�I^��s�d`�{J�F�e�'Tղ)���#��u/��R�(��B��G��2��P�꣒����{�C(jr(9Rs�崲.���7�刽юƎ�1n��)ʌ�%W|ts�\}���>�9~&*N��|���L�Y��s�����H���0�	*�H��
	1�0�0��0y10	UUS10U
Washington10URedmond10U
Microsoft Corporation1#0!UMicrosoft Timestamping PCA
a�00+�]0	*�H��
	1	*�H��
0	*�H��
	1
111118220006Z0#	*�H��
	1x�����o=����'�d�0
	*�H��
���d��B�N�� ���*s��\R�L{:#��D��� G��|����j�-������_o������^>�o:��<���C�o��J�m�_zX�/��!��I5�[mQrr:9�_&z�Rh �B�n���$�7�l��n�B��`�JyZp�8��=�q+��F�7g`e
��y���*�u�|!FW
1����5��&f�j�p=�?���Ű~/v�-�\K~�E"q7��f4��kG��]��b)D�ƞPKc�Bω�I`I`I$System.Xml.XPath.dll
 *E:�b�*E:�b�*E:�b�MZ����@���	�!�L�!This program cannot be run in DOS mode.

$fPEL���N�!(~F `�a �_N@� 0FK`P2`��E  H.text�& ( `.rsrcP`*@@.reloc�0@B`FH�D	0��P �R���}�0�j��'�'5��ݾ���n�"�¼K`��Ӡ�,9H��j�tڃ���"���h�S��j���N蕷�kI��¥��t��8%��g(�@?I��Cw���0�%m����O�Z��M�`R�1�"("
*�{M-}M(#
(
($
(#
*"(%
*(
*�(&
rp('
o(
s)
}m*0 ~l-s
l(+&~l*
*.({m*0u(
-*{m(o+
,S�i1M+6�uL
	,&	o,
 1	 �o-
r#p(.
�X�i2�(/
(0
**0(
-*{m(o+
**R(
*0(
-*{m(o1
**(&
*o*
*s3
zo*0t-*o.o
o6,!o*o-,oo6&*o,
-~4
*r+p(5
,r3p*r}p(5
,r�p**0�-*o
o.o6,/o*o.,o(5
,o*o/-�~4
o(5
,~4
*r3p(5
,r+p*r�p(5
,r}p**0�o
.3.3oo6,o*s6
-r+pr3po7
o.,=o
o	o,
-
o,
-3		o7
o/-�o6&*~�*0.o
r�pr3po),o*o6-�~4
*0,o
Er�p(
s8
z(�*^-r�ps9
z(�*
*No*-*o6&*0 o)-r�p*o
o6&*�o*,-o(5
,o(5
,*o+-�o6&*0Eo--,r+p(5
,r3p*r}p(5
,r�p*~4
*o
o6&*�o., o(5
,*o/-�o6&*"o.*"o/*0,o
YE+*o6-*o5*&o6-�*0@o5,6o3o(5
,o(5
,*o2-�o6&*01o5,'(�
o_b_,*o2-�o6&**o=*0�	o
,(oYE+oo|&oYE+
o6-*o5-o2-o6-�o8&*,oC,
o8&*o3�o(:
-�o(:
-�*&o?*0�
o
(�,(oYE+oo|&o
	YE+
o6-*o5-o2-o6-�o8&*,oC,
o8&*o_b_,�*0Bo
+'o3o(5
,o(5
,*o2-�o8&*03o
(�+o_b_,*o2-�o8&*No5,	o6&**�,o+oC,*o6-�*0�-*oC,*o
oo(�o(�
	1+o6&Y	0�oC,*	1+o6&	Y
	0�oC,*ooo6,	o6-*oC,o'
o;
r�p(:
&(�*o6&o6&+�(�*6(�oI*:(�oI*0
oL
o�,o�**6(�oL*:(�oL*0
oOu
-r]p(�z*:(�oP*:(�oO*&oP*0WuQ
-r�p(�zow(Go9-osHoAu,
o�sq**0EuQ
-r�p(�zow(GoC���&r�po�(�z*!16(oQ*6os*:os*:os*>os*:os*>os*
*s3
zs3
zs3
zs3
zs3
zs3
z0(�
oa*0G-r�ps9
zo
,.3r�p(
s8
zo_(�o<
*0-r�ps9
zo�
oa*0�o3or�por�p(=
*o3[oo,
-r�por�p(>
*�L
	r�p�	o�	r�p�	o�	r�p�	(?
*(@
sA

sB
oC
oD
oE
(F
(��o<
�o;
*�
�"o`*0�o
	E__+d(@
sA

sB
oC
oD
oE
(F
o5,(�o2-�o6&�o<
�o;
*o*~4
*M!n0i-rps9
zoE)+/o
+oto5-�o,
, og*o*r�p(
s8
z*0(�
oh*0$-rps9
zo[
(�o<
*0;-rps9
zo(�-r�p(
s8
zo�
oh*0(�
ok*0$-rps9
zoZ
(�o<
*0;-rps9
zo(�-r�p(
s8
zo�
ok*0(�
on*0$-r!ps9
zo]
(�o<
*0;-r!ps9
zo(�-r�p(
s8
zo�
on*0(�
oq*0$-r!ps9
zo\
(�o<
*0;-r!ps9
zo(�-r�p(
s8
zo�
oq*s3
z"os*0)oZ
oG
,oH
oI
o<
*0)o[
oG
,oH
oI
o<
*0)o]
oG
,oH
oI
o<
*0)o\
oG
,oH
oI
o<
*0)o^
oJ
,oH
oK
o<
*0Qo
-+ooL
+"o3o3o(5
,*o3-�o8&*03o
(�+o_b_,*o3-�o8&*0do-*o2,*o
o6-*oYE+o5,*o6-
o8&*o2,�*0Lo
oYE+ Xo+-�+Xo1-�+Xo2-�*0yo
sM
~�o�oN
&o}o6,C5~��oN
&+�0oN
&~�_�oN
&d-�0oN
&+�o;
*0s�(�sv*0
+X
o6-�*0�
oYE+X
+X
oYE+8-Q+oC,*o1-�+:Y
-3+oC,*o+-�+Y
-+oC,*o2-�2**0`sO
sP

o
oQ

+.	oR
(S
r}p(:
,(S
(T
oU
	oV
-��
	,	oW
�*:T
"~��*f	3 ���*3p*_b**Y��*0uo
E0+\YE222+0*YE+**0ao
YE00+.YE+**(�*0�-r+ps9
zo
osP
-o6&o.,oooU
o/-�osX
sY

	oZ
	o[
s\
	(]
*02r�p
o^
,.r7p(
raps_
z-
o`
-*Xoa
E��������������8�ob
oc
od
oG
oe

+sod
3@ob
o,
-r�pr}pof
og
+Dr}poc
of
og
+*ob
oc
od
oJ
of
oH
oK
oh
-�oi
&	,oI
8�X8�oj
Y8�of
oH
8�of
oH
8�of
ok
8�oc
of
ol
+{om
+sod
3@ob
o,
-r�pr}pof
og
+Dr}poc
of
og
+*ob
oc
od
oJ
of
oH
oK
o`
,=
���*2s��
*REANTSWPCXABCDEFGHIJKLMNOPQRSTUVWXYZ123456p @��0Ps���
�]%�;(o
�� �]%�<(o
��
�b%�=(o
��*(*"}�*0J{�o�o;

{�oYE>>���>�8��
	�	rop�	{�o�	"�]�	(q

8���rop�{�o�"�]�(q

��r�p�{�o(��"�]�(q

+A�		�	r�p�	{�o(��	"�]�	(q

*0P o
oo/,(�o,
-~4
r}pr�pog
*r}pr�pog
*0d!-r�ps9
z
oo
	E	���y����8�o oooG
o*,9o oooJ
ooH
oK
o+-�o6&o.,(�o6&+@ooH
+2oor
+$+ ook
+oool
,0o5,	X
8����o3o",oI
+oj
-*o2:���Y
o6&o3�oj
+�6~4
(�*&(�*0"r�p�L
�(�*"s�*0"�L
�s�*0"�L
��s�*0"�L
�s�**(�*�(�(s
 C�(t
}�}�*06 (	
-r�pr�p(>

�&r�pr�p(>
�*  eZ{�,{�*(u
*0+
{�3o�
o�-�o�}�{�*s�*no�,o�s��
**:}�(&
*N(&
o�}�*0a#{�,9{�- r�p�
~4
�(	s8
z{�o�o*rp�~4
�(	s8
z0@{�-{�o�}�}�{�,
{�o�-	}�**"}�*"}�*0�$sM

r+pov
&{�o�ow
&r?pov
&{�o�-rUpov
&+7{oN
&{�o�s��
o;
ov
&}oN
&o;
*(&
*"(�*0#%s�(�sv,o�*JtQ(woP*0!&u
u,,oC,**0g'-r_ps9
zu%,Fo&,	ox

+:o
oox
a
o ox
a
oox
a
+ox

*(&
*"~��*2{�o&*0(o
us�*0D(y
}�}�(�}�}�}�{�o(�}�*V{�1
{��**2{�o*6{�o*6{�o*6{�o*0")sY

oz
o{
oZ
o|
*{�*�{�o3oz
r�po}
*oa
3~4
*{�o*0L{�o3#{�oo,
-oz
r}po}
*oa
3~4
*{�o*0L{�o3#{�oo,
,oz
r}po}
*oa
3~4
*{�o *�{�-{�o!*{�o!*2{�o"*0^{�o
rgpr3po),6o(�%, rsp(5
-r�p(5
-+**o6&o6-�*2{�o#*�{�.{�	.{�.
{�,**�{�.({�	.{�.{�,{�o*~4
*0e*{�YE@$+>{�o*{�o
o6,*{�}�(�}�**0�+
{�YE|!@_+z{�3{�o
{�T+c{�o
o6&{�YT+D{�o
o6&{�YT+%{�}�(�
}�+{�T*�{�o8&}�}�}�*0T{�/D(�
,1o.,Xo/-�o6&o*,Xo+-�}�{�*0�,{�
o
	YE+o
o6-**(o,
->r}p(5
,~4
o,*{�3o
~4
o),_o*r}p(5
,o,*{�3o
o*,+o(5
,o (5
,o*o+-�*0�-r�ps9
z{�
oYE+o
o6-**r�p(5
,r}p(5
,~4
o,*-~4
{�3o
o),o**0/ o
o/,(�+TJ3%JXT*0\-2M(�
,Co.,(�,*Yo6&o*,-o*Yo+-�r�ps~
z0�.-r�ps9
z{�
(�,Wr�p(5
,6r}p(5
,~4
o.,-o(5
-!o/-�+-~4
o)-*X(�*06.(�,o.,o/-�+
o*-*X(�*0*{�YE��8�o
*{�o3{�o+*{�o
o6-*o.-*{�oC, o6&o*-*{�o8&*oo/-*{�oC,{�o8&*o8&+�%{�Y}�}�oh
-%{�X}�}�*}�**0�/(�-*(o,
-
	r}p(5
+%-
r}p(5
,,,~4

o.,]o	(5
-Qo/-�+Do,
-	~4
o),.+.o*,$o	(5
,o (5
-
o+-�*X(�*0_0{�
YE+D{�o6-*%{�Y}�{�3%{�Y}�}�}�***{��*090{�
E+*****Br7p(
s8
z�{�3}�}�%{�X}�**
*s3
zs3
zs3
zs3
z6{�o*{�*0�0}�{�
E	u�``�8�*{�}�}�{�o-{�o5-(�*}�+{�o3}�{�o(�}�8C{�o5,0{�o(�}�%{�X}�}�8{�3!{�o"-}�}�8�{�-{�-(�*{�o2,"{�o(�}�}�8�{�1,{�o6,}�}�%{�Y}�+`(�*{�o6-(�*{�o(�}�%{�Y}�{�@���%{�Y}�8����*�(�}�}�}�}�*�(�}�}�}�}�*061
�
	������
�����*(�*v�~�-s�����~�*	*~4
*~4
*~4
*~4
*~4
*~4
*
*~4
*
*
*sO
*
**
*
*
*
*
*
*
*
*
*
*
*
*
*�*".**�*
*(&
*r}�(�}�}�*B(
}�*�(
-r�ps9
z-r�ps9
z}�}�*0g}�(�{�o}�{�}�{�}�{�}�{�}�{�}�{�}�*{�*{�*0�{�-I{�{�o.4{�	.*{�3{�o.{�o�****{�o3<{�o,
,{�{�o(5
,{�{�o(5
***(*.(*"(*s*0E+}�o,%{�X}�*{�-
{�o2+{�o5-�**(*2(*"(*0O{�,8}�{�,)o,!}�*o,%{�X}�*{�o6-�*s**(*2(*R({�}�*s *0�{�, }�{�,o,	}�*{�o5,%{�X}�+3{�-*{�o2-{�o6&%{�Y}�+�o,�%{�X}�*j(}�s�
}�*�(}�}�}�s�
}�*:(}�*�(}�s�
}�{�o�
*
*6~�{��*{�*{�*{�*{�*0h2�
������
���
������������*"~�*r(}}}*
*f{0*{
0**{*{*{*0'3	�'
�������*:(�}�*N(�{�}�*"}�*0#o9o�
+o�-*X
2�*(6*"(7*6oB��*0A4{�31o�t)
o9}�+%{�X}�o�-�{�**.r�p(�z*#�?**F,o�t)**2,o�**2,o**0�5
o�
,pYo�
(L
	E+*oo�
*Y+6(Ko�
(LE
+*X
+2�oo�
*Xd*0Z6oE
3Loo7o!o8-oo7o!
	(�
20++
*0\o'
o;
r�p(5
,*o'
o;
r�p(5
,*/Yo�
(L&o�
/o�
(L&*0�7uP,*(G
o�o�&+Xo'
o;
r�p(5
,*o'
o;
r�p(5
,*,o3	o.(L&o
XoB%-�*�u,*uL,*uh,*ui,**^('
o�
~4
o�
*�(<~4
}.~4
}/~4
}0},*0L(<},}.}/}1o,
-o,
��+}-~4
}0*0m(={,(G},{.}.{/}/{0}0{1}1{-}-{3}3{2}2*j}3}2{,o9*~{/o�
}0{,o@*{.*{/*{0*{-*{1*{3*{2*0t(Zo.%(Z	.(Z3Qo.	o3?(Y,5{.oo�
-
{.o,
-{0oo�
,***n(8o9{,oA&*0Y{,o'
�;(�
.
#�?*{.o,
,
#*{/o,
,
#п*#�*
*0�('
o�
o�
(Y,8r�p(Wo,
-(V+(W:�](V(�
o�
(Z.r%p(Z�o;
o�
{,oPoI
*z(Rs�
}4}�*�(S{4s�
}4{�}�*"}�*V(^&{4o�
*02{�{4o�
/{4%{�%
X}�o�
**z{�-*{4{�Yo�
*{�*2{4o�
**2(b*"(c*09o
o6&+o�
oC,*Xo�
2�o�
*0�8(e&s�

s�
+{2oo�
{,oB%}2-�+co�
o.So.J(m,@o
	o6,1	o5&+	o],{4	(J&	o2,		oC,�o�
-�*sl*&(j`*j(6o}<}=*�(6{<o}<{=o�t)}={>}>*2{=o9*0;{=oB
,*%{>X}>{<o8-o}<**2{=o�*{<*{>*sr*:(6}?*~(6{?}?{@}@*�(6s�
}?+{?o�oo�
o�-�*{?*sz*0=9{@/ rp�
~4
�(	s8
z{?{@Yo�
*{@*2{?o�
*�{@{?o�
3*%{@X}@*"}@*2{?o�
*r{@2o�s��
**�(<s�
}As�}B}C}�*0B(={As�
}A{Bo�}B{C(G}C}�*"}�*�{Co@{CoE.{CoE.r]p(�z*0}:{Bo�
+N{Ao�
os�
+"	{B	o�{CoAo�	X
	2�{Ao�
{CoB%-�{A{Bo�
*�{CoA&{Ao�
(�}�*07{�{Ao�
/"{A%{�%
X}�o�
o�**�{�-*{A{�Yo�
o�*:{Bo�*s�*
*{�*2{Ao�
*
*�('
o�
o�
{CoPr7pr[po�
oI
*�(&
}D�}E}F}G*&{E�**{E�*{D*{F*{G*�(&
0�)}I�}J*"(�*0�;{K{I�i3Q{KZ�)
{KZ�+{I��{J��X{K2�}I}JoE.	oE3�)
	�	s�{I{K�{J{K�%{KX}K*{K*&{I�*0B<
+%{J�o�o�o�

,*Xo�2�o�o�Y*0U={Ks�
+.{J{J��{I{I�o�t)�X{K2�{K}K*V(}L}M*
*
*{L*{M*V(}N}O*
*
*{N*{O*�(Rs�
}Ps�
}Q*�(S{Po�
}P{Qs�
}Q{R(I}R*�{Po�
{Qo�
}R(T*0Ho
o6&+{Qo�
oC,*X{Qo�
2�{Qo�
*0!{,oB
-*(�-�o*0�{2:�{R-(�}R{Po�
-${R-*{R}2(�}R+Z{Po�
}2+G{P{2o�
{R}2{,oB}R{R,{Ro}R{2{RoD-�+#{2o],%{3X}3{2*{2o2-�}28���s�*�~4
}Y(}S}T}U}V}W*r~4
~4
	(�}X*
*
*{T*"}T*{U*{V*{W*{S*{X*{Y*"}Y*"}m*0�>
o�o,
1}m}no�9�_:�o�u6
	,vo�3m	o�3d	o�	3Z	o�,	o�(�+
s�To�o�o�	o�s�
J_,s
%J`T*o�.	o�3`o�(�+	s�To�E
*�O���-�c�8to�o�o�s�
%J`T8`o�o�o�s�
%J`T8;J_,o�o�o�s1
8o�o�o�s�
8�o�o�o�s
8�_,o�o�o�s
+(o�o�o�s�
J_,s
%J`T8�_,"o�o�o�o�s
+-o�o�o�o�s�
J_,s
%J`T8'o�o�o�s-
%J`T8o�o�o�s3
%J`T8�o�o�o�s�
J_9�s
8�o�o�o�sk
8�o�o�o�s�
+xo�o�o�s�
+]o�	.o�.	o�3(o�o,
-o�o�o�s+
+sA
+r�p{i(�z*VoE.
oE�**0�?_�
o�(�(�-_,	``�_o�`(�
o�o
.%J�_T_,%J`T	uG,I_-Do#oE.5o#oE-ssPs{,
J_,	uB,	tB{�
{n-	u*}n	oF_��	oF_��_,,		s�
+_,	s�
,a{n,Y,NJ_,H	s 
{n{,u;- {ns�},}n	s8*}n	*}n	_�s *0�@o3(�o4(�
`To2YE,+8o2	sF*o2	sP*o2	s*%J`T	sN**�}m{j-r�p{i(�zo�o�sg*0xAT
o)E/Ovvv�(�(���������(����M8�o)s
%J`T*o)s
%J`T*o*o�
t(�s*o*o�
t(�s
%J`T*o*,3o*o�
1%o)o*o�
t(�s*o)s*o)o*(�s�*o*,3o*o�
1%o)o*o�
t(�s�*	s�*o)s�*o)o*o�
t(�s�*}m{l-*o,r�p(5
,o+o,
-r�p(�z{k-0o,r'p(5
,o+o,
-r�p{i(�zo+o,o*(�sn
%J`T*r�p{i(�z0FB-+o�

s�
T+%o�
t(�o�
%J	`TX2�*0�C
To
E&7Yi�J8�t6(�
+tt&(�
+dt3(�
+StVo�s�
+@t4(�
+1t$(�
+!tKoE(�s
+s�
*0D(�}i(�*�}j}k}l(�(�*04(�
{mR*�}j}k}l(�(�*04(�
{mR*(&
*:(<}�*R(={z}z*"}�*{z*Vo�}z}�*b{�-}�{z**
*s�*
*{�*
**2(R*R(S{{}{*:}{(T*0�{{-F{,oB}2{2-*}3{2o}2{2o*}{+{2o+}{{{,�{2o],�%{3X}3{2*03,.o3%o],o
o6,
{,oC**s�*^~�}|(R*�~�}|(S{|(H}|*J~�}|(T*0�+t{,oB
-*(Y,B(Z3(ZoS(Vs�}|+,(V(XoT}|+(ZoS}|}3{|o�9|���%{3X}3{|o�}2{2*05,0o],'o
o.o6,
{,oC***s�*r(R}}}~*�(S{}}}{~}~*0`&,[{~-r�p(�z
o],={},{,oC%
,*o+{,oC%
,*o6-�*0�('
o�
o�
{},r/pr9po�
(Y,8r�p(Wo,
-(V+(W:�](V(�
o�
(Z.r%p(Z�o;
o�
{,oPoI
*B(�*f(�{(H}*:}(T*0�{:�}3{,oB
-*(Y,N(Z3%(Z{}oW(Vs�}+8(V(X{}oX}+(Z{}oW}{o�,&%{3X}3{o�}2{2*}80���s�*�(<}�s�
}�}�*�(={�(G}�{�s�
}�{�}�*"}�*6{�o@*~{�o�
}�{�oA*02{�{�o�
/{�%{�%
X}�o�
**z{�-*{�{�Yo�
*
*{�*2{�o�
**�('
o�
o�
{�oPoI
*R(b}�*R(c{�}�*0r&(e&
+U{�,o],{4(J,5,	o8-!o
+o],{4(J,o6-�{,oB%-�*s�*V{4o�
{�YX*&(j`*0�('
o�
o�
{�,r/pr9po�
(Y,8r�p(Wo,
-(V+(W:�](V(�
o�
(Z.r%p(Z�o;
o�
{,oPoI
*"(�*"(�*0)(�&+{�(J&{�oB%
-�*6{�oC*s*2(b*"(c*0A(e&+&o
o6,o],{4(J&{,oB%
-�*s*(�
*"(�
*"(�
*"(�
*0E(�
Y
(�
(�
*>(�
Y(�
*s�
*(<*"(=**.r]p(�z.r]p(�z.r]p(�z.r]p(�z"(Q*"(S*�{,oB}2{2,%{3X}3{2*6{,oA*s*2{,oE*
*Z(Q}�}�*�(S{�(G}�{�}�*J{�o9(T*{�*0RF(U{�o@{�oE,1{�oE.#{�,{,uo
,{�},*07+(&,%{3X}3{2*{,oB%
}2-�*0tG{�{,oA
u,{�oB��*uL,tLo,
��*uh,�h{,o�l�*ui,�i**0�H-*{,oC
9�{�oE

E$��N8K{�uX9;{��h{,u=
	,Joo6&o5&	o],XoC,
l.**o2-�*{,u<9�oo6&o*&o],XoC,
l.**o+-�*{�sHoA&{�oB-**{�,K{�sHoA�i-**{�,&{�sHoAtLo,
-****sHoA&+	oC,*oB%	-�*F{,oF_`*s!*0H('
o�
o�
{�-rApr9po�
{,oP{�oPoI
*2(R*R(S{�}�*:}�(T*0�{�-F{,oB}2{2-*}3{2o}2{2o0}�+{2o1}�{�,�{2o],�%{3X}3{2*�oo,
-*(Y,(Voo�
**s,*�(�s�
}�s�
}�}�*0G(�{�(I}�{�o�
}�{�o�
}�{�}�*�}�{�o�
{�o�
}�(�*0�{�,l{�o�
-,(6}2{2-*{2o5,�}3+*{�o�
}2{�o�
}3(5,�}�+!{2o2,(5-}�8k���{2o]9Z���%{3X}3{2*0u(6}�{�,_{2{�(L3K{�{2o�
{�{3o�
{�}2}�{2o5-*}3*00{�,{�
}�+{,oB
,o
*s2*
*
*
*
*
**
**
*(<*:(}�*
*
*{�*0@(oE,
	s�oE,
	s�}�}�}�*�({�}�{�(G}�{�(G}�*f{�o@{�o@*�{�{�oA(�{�oA(�(J�h*0?I
	YE
+X*Y*]*[*Z*#*
*sG*0K('
o�
o�
rSp{��'o;
o�
{�oP{�oPoI
*�(<}�}�}�}�*0d(={�(G}�{�(G}�{�}�{�}�{�(I}�{�(I}�*�{�o9{�o9}�}�}�*f{�o@{�o@*�{�oA&{�oA&}�}�}�(8*0J}�%
}�}�*z}�}�}�}�*z}�}�}�}�*0�K{�,{�oB
+{�
{�,{�oB+{�,
,
(L+?-}�}�}�}�*}�}�}�}�*-	(T*3	(U*(S*0$,{�oC
,*{�oC**
*sO*{�*s�
z0@('
o�
o�
{�,{�oP{�,{�oPoI
*V(<}�}�*0B(={�}�{�}�{�}�{�(Ht(}�*R{�,{�o9*�{�-r]p(�z{�o�-oB&{�o�*�{�-r]p(�z{�o�,{�o�**Z{�,{�o�**04LuL,*uh,*ui,*u,*ub,
�bl�h*-
~�}�*u(
,o�t(}�*u,s{}�*u,o*uo,
�ol�h*up,
�pl�h*uq,�qvl�h*ur,
�rl�h*us,�svl�h*ut,
�tl�h*uu,�u(�
l�h*o;
*�{�o,
-{�*{�rYp{�(>
*Z{�,{�o�**
*&(]*R(^{�}�*0U-r]p(�z{�.=}�{�{�{�o�}�{�-rwp(d(�z*�{�-r]p(�z{�{�o�(c*05M{�,oA(O*{�-+{�o�
3
*sh*0P('
o�
o�
r�p{�o,
-{�+{�:�]{�(�
o�
oI
*B(]}�*0UN(^{�}�{�o�
�)
+{�o�
(G�X�i2�}�}�*0�O-r]p(�z{�;�}�{�o�

+	o�

o@	oV
-��
	,	oW
�{�o�
�+{�o�
oE�X{�o�
2�{�{�{�o�}�{�-r�p(d(�z*-G
0�P{�-r]p(�z{�o�
�
+={�o�
oA��u,o�{�o�
sq�X{�o�
2�{�{�o�o�(c
�r�p(d(�z	*s!�0S{�r'p(:
,{�o,
,r�p(�zsHoA&
+oC,*oB%
-�*0M{�-+{�o�
3
*so*0�Q('
o�
o�
r�p{�o,
-{�+{�:�]{�(�
o�
{�o�
+o�

oPoV
-��
,oW
�oI
*Uo
r(�}�}�}�*j{�,r]p(�z{�*{�**0mRuL,s�tL|�(�
+!uQ,tQow
+r�p(�z{�u0-{�s�%}�o�*Ns�o�*v{�(G{�{�sv*"o�*04SuR
--sO
sP
s�
{�o@}�*2{�oE*"(P
*2sO
(P
*2sO
(P
*>(�}�*~4
*0,o,
-~4
*{�o

-r�p(�z*.r�p(�z.r�p(�z
*
*"(�
*0W(&
-(�
o�
}�+s�
}��&�33+3}�}�}�*)\0�T{�YEo8�{�(�

{�(�
{�{�-+(�
-{�-{�.e**{�(�
{�.e**(�
(�(�
{�.e**r7p(
s8
z2(R*"(S*06+{2o],}3{2*{,oB%
}2-�*s�*V(}�}�*j(}��h}�*j(}��i}�*
*{�*{�*V(�}�}�*�(�{�o�}�{�}�{�}�*s�*2{�o�*{�*�+-{�o�o{�(5
,%{�X}�*{�o�-�*:(}�*{�*6{�(O*
*�('
o�
o�
rp{�(@
(�
o�
oI
*:(&
}�*03Us
s�o�o!E.r!po(�z*03Us
s�o�o!E.r!po(�z*"(�*0.V(�
rAp(�-*(�(�s/
+�0.V(�
rGp(�-*(�(�s/
+�0JW(�
{�o!=.{�o!N.++-*(�(�s/
+�0nW(�
{�o!<.9{�o!L.'{�o!>.{�o!G.+
+++-*(�(�s/
+�0LW(�
{�o!+.{�o!-.+
+	-*(�(�s/
+�0[W(�
{�o!*.%rOp(�-rWp(�-+

++-*(�(�s/
+��{�o!-3#(�(�#�s�s/*(�*0KX(�
{�o!|.*(�(�o(�o(�s/
+�0Xo#o,
-Io"r_p(5
-5o"rip(5
-#o"rsp(5
-o"r�p(5
***0cV{�(�,L(�
{�o!/3(�(�
+-{�o!S3(�s�(�
+(�
*0)V(�
+(�s�
{�o![.�*0&Vo(�[(�(�
](�*0fV{�o!/3((�s
{�o!(�,(�
*{�o!S3(�ss�(�*(�*0LV(�
S{�o!3(�s�(�
+/{�o!3(�(�
*�..D.@.a.*.n�**0�Y.{�o!3(�s�
8�D{�o!3(�	s�
+i{�o!
	@.	a.+(�+{�(�(�.+(�
+(�s�
[{�o!.�*0aZ{�o!*;n@${�o&9�{�(�9�~4
~4

{�o"r�p(5
-R{�o"rip(5
-8{�o"r_p(5
-{�o"rsp(5
-++	++(�((�3){�o!).s(�{�o$
(�)(�+]{�o#{�o"
(�r�p(5
,2~4

+*~4
~4

(�+r]p{�o(�zs�*0Ho!s.<o!d.2o!$.(o!(.o!n3o&,
(��***0�[
{�o!(0$.W(;�8�d.,n;�s@�{�o$s�
(�8�{�o%s�
(�+|(�n(�{�o"{�o#s�
(�+J(�(�
o
.sB
)(�+"{�o&,{�(�-(�
*0\s�

{�o"{�o#n(�((�{�o!).&(�o�
{�o!).
,(�+�)(�o,
:�~�o�
&	9�o�
	o�/r�p{�o(�z	o�
3C+3o�
to.
s&o�
X2�8	o�/r�p{�o(�z	o��i/
	o��i8�o�
t	o��;�	o��o;�	o��		EA5N+Vu4-Mu$,
o.:r�p{�o(�zs&+	s&+
s&o�
X?:���	o�s#*s$*01V(�
{�o!|.*(�(�s/
+�0�]
{�o!/.S.6n.E8�(�s
{�o!E.{�o!|3`*(�ss�
+J{�o&,=(�
,2{�o!/.S.
+(�+(�s�
+*(�*0^s�

{�o#o,
:�{�o"rp(5
,W~�rpo�
(�((�s(�{�o$s�o�
(�)(�o�s#*{�o"r'p(5
,w(�((�s(�{�o$s�o�
(�,(�s(�{�o$s�o�
(�)(�r�pr'ps$**0LV(�
S{�o!3(�s�(�
+/{�o!3(�(�
*0�Y{�o!
	@.	a.+;(�+1{�(�..r!p{�o(�z(�.+(�
+(�s�
[{�o!.�*�{�o!.r!p{�o(�z*:(�(�*6{�o(&*�{�o!n3${�o#o,
-{�o"o�
**~..r]p{�o(�z*0�_$s�

r
p~�s�o�
rAp~�s�o�
r�p~�s�o�
rp~�s�o�
r3p~�s�o�
rIp~�s�o�
rp~�s�o�
rUp~�s�o�
rcp
d~�s�o�
rqp~�s�o�
r�p~�s�o�
r�p~�s�o�
r�p~�s�o�
r�p~�s�o�
r�p~�s�o�
r
p~�s�o�
r-p~�s�o�
rAp~�s�o�
rQp~�s�o�
rYp
~�s�o�
rcp~�s�o�
r�p~�s�o�
rop	~�s�o�
r}p~�s�o�
r�p~�s�o�
r�p~�s�o�
r�p~�s�o�
*0�`
s�

r�po�
r�po�
r�po�
r�po�
r	po�
r	po�
r=	po�
rQ	po�
ru	po�
r�	p	o�
r�	p
o�
r�	po�
r/po�
*0,a~�o"o�
-r!p{�o(�z*0�b����
������������
	�	�	�������������������(���(���*{�*{�*{�*{�*�(&
}�}�}�}�*(�*"(�*�o�o}z{zo7}�*>,
o-**s�*V(}�}�*�({�(G}�{�}�*V{�,{�o@*0fc{�
YE<!(.*+5(��i*(��i*�i*�i*(��i*�i*b#.
(�
�***o,
�*0`G{�oA
u,{�oB��*uL,tL(�*uh,�h(�*ui,�i**
*V{�oA�i�*0K {�oAo;

o�o#o�
,!o,
o,
.o,
o�
-�***s�*0G('
o�
o�
r�p{��%o;
o�
{�,{�oPoI
*V(}�}�*�({�(G}�{�}�*V{�,{�o@*^-
#*#�?*(�*0jc{�
	.YE)6+A(��h*(��h*(��h*(��h*(��h**0�d{�-o�o(�*{�oA
(OE5)<+K{�oB,<o(�*tL(�*�i(�*�h*to(�*#��*08e#
{�oA&+o(�X
{�oB%-�*^{�oA�h(�
*^{�oA�h(�
*0f{�oA(�
(�*
*s�*0G('
o�
o�
r�p{��%o;
o�
{�,{�oPoI
*V(}�}�*0NN({�}�{�o�
�)
+{�o�
(G�X�i2�}�*0)
+{�o�
o@X
{�o�
2�*0�c{�
YEaaaaa
,4<DQY+_(�*(�*(��i*(��i*(�*(�*(�*(��h*(*(*~4
*Jr�	p(�
(�
*>-rcp*rYp*0�d{�o�
>�{�o�
oA
(OYE$+?+I{�o�
oB-~4
*o*tL*�i-rcp*rYp*to*�h(�*o�o*�{�3*{�.
{�3**0Ag
sM
+"{�%X
o�
oAo;
ov
&{�o�
2�o;
*0S {�o�
oAo;

{�o�
oAo;
o,
o,
2o,
(�
�**0H {�o�
oAo;

{�o�
oAo;
~� @o�
��*0_h{�o�
oAo;

{�o�
oAo;
o,
-*~� @o�
2	o-
*~4
*0eh{�o�
oAo;

{�o�
oAo;
o,
-*~� @o�
2o,
Xo�
*~4
*0i{�o�
oAo;

{�o�
oA(�(�#�?Y(�
-
o,
l5~4
*{�o�
3~{�o�
oA(�(�(�
,~4
*#2#4 X#0~4
*#o,
lY
	6	iio-
*#4
#io�
*�{�o�
1{�o�
oAo;
o,
l*o�oo,
l*0�j{�o�
1{�o�
oAo;

+o�o
(�
sM

(�+4o�
(�-
o�
oN
&+	,
 oN
&Xo,
2�o;
*0�k{�o�
oAo;

{�o�
oAo;
{�o�
oAo;

sM
+C	o�
o�
.o,
/!o�
oN
&+	o�
oN
&	X
	o,
2�o;
*s�*0cQ('
o�
o�
r�p{��%o;
o�
{�o�
+o�

oPoV
-��
,oW
�oI
*8R
B(@
o�
��*V(}�}�*�o�-+}�{�,{�o@*�{�-o�*{�oA&{�oB*0�l{�
	EX�4F8�o�l�h*o�l�h*(
9�o*(
,wo*(
,eo*{�oA&{�,2+o3{�o�,X{�oB%-�+X{�oB-�l�h*~4
*6~�{��*0%m{�{�(Gs
{�}�*0G('
o�
o�
r�p{��%o;
o�
{�,{�oPoI
*B(�*R(�{�}�*:}�(T*0�{�-a{,oB}2}3{2-*{},{2o],}3{2*{2o}2(-
+�(,�{2o],%{3X}3{2*(-�8_���~{2o5,%{�X}�**�+$%{�Y}�{�-*{2o6&{2o2,�*s
*"(�*"(�*0�n(�
o�o(O
	E/ CW+go({�oB%-�+ItL(+:�h(�(+&�i(�(+to(*0/o(�
+�o9,{�(J&X�i2�*0'sHoA&+oC,*oB%
-�*s*(*
*
*0I#��}�(�}�(&
-r�	p~4
(�z}�(&((&*{�*{�*0@{�{�o,
/${�%{�%
X}�o�
}�*}�*�{�{�o,
/{�{�o�
**{�*{�*{�*{�*{�*{�*r|�((�,(-�*0�p('(
@=�;�!YE �k..��k......�;������������U.��.8[YEj|.8`E}�*(�](@
(�
}�(&8�<}�(&(=@hL}�(&8T>}�(&(=@8G}�(&8$!}�(&(=@N}�(&8�.}�(&(.3D}�(&8�((�9�d}�(*}�8�/}�(&(/@�S}�(&8ns}�(+}�8U((�,d}�()}�8/|�((�9n}�(,}�~4
}�(:@�(&(:3(&a}�8�{�}�(*3(&r�p}�+u|�((�,(,}�+Tr�	p((�z('(:33(&(:3(&a}�+r�	p((�z('((�}�+r!p((�z*0g<{�Y
+(&X((�-�(.3%(&X+(&X((�-�{�o-
(�*08<{�Y
+(&X((�-�{�o-
(�*0Pq(
(&{�Y+(-r
p(�zX(3�(&{�o-
*09<{�Y
|�((�,
(&X+�{�o-
*^(Rs�
}�*�(S{�(H}�{�o�
}�*f}�{�o�
(T*0&{�:�{,oB-*o
o8&{,oB%-�o.	o3o6&{�oo�
o6-�	oW}�+u{�o�}2{2{�o�
oC,){�o�
&{�o�
-3}2}�*{2o],%{3X}3{2*{�o�:{���*s.*&(F`*2(R*�(S{�(I}�{�(H}�*:}�(T*0(r{�:�{,oB}�{�-*{�o
{,oB}�{�oD-�}�~�}�8�{�o.{�o3{�o6&+{�o6-*{�o2,�(Y, {�(V(XoX}�+{�(ZoW}�{�o�9f���%{3X}3{�o�}2{2*s4*>(�}�*f(�{�(G}�*R(�{�o@*0J(�&+1{�{�oA&+{�(J&{�oB%
-�{�oB-�*0W&{�oC
-*{�oC
-*osHoA&oB+oC,*oB-�*s9*�('
o�
o�
{�oP{�oPoI
*(6*
*
*
*
*
**.s?��*:(6}�*J(G,}�*�(6{�o}�{�}�*sI*{�*{�*
*N{�-	}�**"}�*r(}�}�}�*�({�}�{�(G}�{�(G}�*f{�o@{�o@*0�s{�
{�oA{�oA(O
(O	/(.
	
.3~�	��ox�i*~�	��ox�i*0Wt�
({({(|-*(|-*(~
	(~(5
3*(|-�(}+�0\u({({(|-*(|-*(~(�(~(�(f,*(|-�(}+�03v({�h+(~(�(f,*(|-�*0.w({tL+(~(k,*(|-�*08v({tL(�+(~(�(g,*(|-�*0.x(s
({+(~(k,*(|-�*08y(s(�
({+(~(�(g,*(|-�*0 z({(|�i(]*0;{({(|-#+	#�?�i(�(g*.���*0|�i
�i(]*0!}�i(�
�i(�(g*0|�i
�h(�(]*0}�i(�
�h(g*0|�i
tL(�(]*0|(s(�
�i(]*v�i(�tL(�(g*v(s(��i(�(g*0MI
YE!+'�*�*��*��*�*��**08I
YE+�*�*��*��**0}�h
�h(f*0}�h
tL(�(f*0}�h
(s(�(f*:�(5
�*0 tL
tL(k*0 (s
tL(k*0 (s
(s(k*0!}tL(�
tL(�(g*0!}(s(�
tL(�(g*0!}(s(�
(s(�(g*sQ*2to*
*0K('
o�
o�
rSp{��'o;
o�
{�oP{�oPoI
*0x~�
�k�hsw���k�isw��lsw���k
	�`sw�	�bsw�	�^sw�	��k�Vsw��Wsw��[sw��Tsw���k�jsw��msw��csw��Ysw��nsw������k�hsw���k�isw��osw���k		�asw�	�dsw�	�_sw�	��k

�Vsw�
�Xsw�
�\sw�
�Usw�
��k�jsw��psw��esw��Zsw��qsw����*Rt)}�}�*z{�oB}�{���*2{�o9*2{�o*0C(oE.	s�oE.	s�}�}��}�*�({�(G}�{�(G}�{�}�*f{�o@{�o@*0*G{�oA
�i{�3*{�oA*s�*
*0Q('
o�
o�
rSp{�-+�'o;
o�
{�oP{�oPoI
*"(�*"(�*0,(�&+{�oo�
{�oB%
-�*6{�oC*s�*"(�*"(�*s�*V{�o�
{�YX*&(�`*~(�}-(�+}*�(�{}{}{}*00{u+
,o�
*{,{o�
*~4
*0.�{u&
,o�
+o�
-*o�
-�*01�{u*
-*o�
+(�,*o�
-�*0�{u&
,o�
**J{(�o}
*0r�{u&
,o�
o�
*{u%,,{,o�
o�
o,
-~4
*o�
o�
*{u},o�
*~4
*0>(�
o,
-{(�o}
*{rYp(�(>
o}
*J{(�o}
*0J�{u&
,o�
o�
*{u%,{,~4
*o�
o�
*~4
*{*0\�{u+
,Ko�
YE	+*{,*******J{(�o}
*0Ho�

o,
-~4
*{,
{o�
*r3p3r+p*r�p3r}p**0g�{u&
,o�
o�
o�
,*~4
*{u%,&{,~4
*o�
o�
(�
	,	*~4
*�{uL,{o�
}}{*0��{u+
9�o�
YE	66ZZNB+Xt&o�
*t%o�
*t~o�
-~4
*o�
*t)(�*to�
*t}o�
*~4
*{tL*s�*0�ur
-*(�*0&�ur
,{}{}**0\�{u&
,Ko�
,Ao�
o�
(5
,$o�
o�
(5
,o�
-	}*o�
-�*0f�{u*
,Uo�
,Mo�
,Cu&,/o�
o�
(5
,o�
o�
(5
,	}*o�
-�*0i�{u*
,Xo�
,Po�
,F(�_,(�-
u~,�_o�
_b_,	}*o�
-�**06�{u&
,%o�
,o�
-	}*o�
-�*0A�{u*
,0o�
,(o�
,(�,	}*o�
-�**0��{u&
,pE7+E(�+<(�+(�,)o�
o�
r+p(5
-�+(�-(�,}}**Br5
p(
s�
z0��{u&
,xr}p(5
,*,o,
-r}p(�+*o�
o�
(5
,}}*(�-�r+p(5
,(�}}**0X�{u'
,G(�,=o�
.4o�
(�,u),u)-	}*
o�
3�*0m�{u'
,\(�,Ro�
.Io�

u&,/o�
o�
(5
,o�
o�
(5
,	}*o�
3�*0��{u'
,o(�,eo�
.\(�_,(�-
u~,�_o�

	o�
_b_,u),	u)-		}*	
o�
3�*0H�{u%
,7{-/o�
,%o�
+o�

o�
-	}*3�*0��{u%
9�{9�(�:�EL+}(�{.*(�
+d(�
,Zo�
o�
r+p(5
-�{(�-�+3(�
,{(�-�-(�{(�-(�
,	}**0>�{,{}}*{t+
(�,	}**0]�{u'
,L(�,Bo�
.7
(�,	u),u)-+	
o�
3�	,		}**0<�{u*
-&ra
p�o��(	s8
zo�
*0�{u
,o
**0�{u
,o
**0�{u
,o	
**0>o�

(�,-+o�
u),o�
(.

(�o�
3�*0,�sO

~4
o}
&r�po}
&r3po}
&*�(�-u&,*o�
_b �_��*0��{{3{{3*{��{��a,\{u)
,o�
{3(�{�**{u),o�
{3(�{�***&(��*"~�*0�(�
,*o�
-�*0 �o�

,o�
,*o�

-�*0+�o�

-*(�,*o�

-*(�*0)�o�

-*o�
o�
,*o�
3�*�~-%(�
r+po�
r3ps�
(+&~*0*�o�

+o�
,*o�
,	o�
3�*��b
�b%�>(o
�*0Z�(�
oNu,
t(+*u-!r�
p�o'
�(	s8
z��*0H�(�
o
{
3{
�3}

+s

{
}
{
}
*(
*0j�{
E@�8;}
{
o�}	
}
8{	
o�
t}

{

o&}
{
u-&r�
p�{
o'
�(	s8
z{
�}
}

ݩ}
{
u)}

{

,h{

(�,[+A{

o�
u)}

{

,;{

�}
}

�@}
{

{

(�o�
3�{	
oV
:��(

�(
�*Aaa{
*s3
z0&{

YE*�(
�*2{
�*z(&
}
(�
o
}
*�}
{	
uX}
{
,{
oW
*0��s

qs}
}
*"(�*0��-r_ps9
zu�,"r�
p�
��(	s
zu)
,7(�u~,"r�
p�
��(	s
z(�s�*&(�*0#�-r_ps9
z�s(+*&(�*:(�(+*&(�*0(�-r_ps9
z�s(+t *0�o�

,*u~,*o
*0>�(�-*(�o�

u),3*o�

u)-�o�

+�0��
8�o�

	 2	"@�-s
Y1YoX		YE- ::"34rpo+.rpo+!r%po+r+po+	oXo,
?[���-*Y1Yoo;
*2~	o
*0��uL
,7(�
o,
,o�
+.&(�
(
,*#��*uh,�h*ui,�i-
#*#�?*(�
(
�&�&�&�#��**(t��t��t�Q0#f(

Y#�?.*#�?X*6~	o
* 	

^�]%�?(o
�	*(&
*0 G~$-s&

$(+&~$*0��(�%(
�~%,� �
��%r1p(�r?p(�rrp(�r�p(�r(p(�r�p (�r:p@(�rPp �(��
,(
�*��
0I�
+;o�
Xo�
+�~%��%q�`ҁ�X1�X
o,
2�*"}&*n�~%-(��~%s�*F{&�_��*F{&�_��*F{&�_��*F(�-:�**F(�-:�**J{&�_��*� �/rjpco�
__b_��**J{&�@_��*V{&� �_��*F{&�_��*J{&� _��*F(�-_�**F(�-:�**F(�-:�**.09(*F � ��(*F � ��(*F � ��(*f �Y �Y
b X`*0) Y
 � ]X�S � [X�S*.(��*0*,%
+{&o�
�_-*X
o,
2�*0X,S
+F{&o�
�_-/Xo,
/o�
(�,Xo�
(�-*X
X
o,
2�*0 
+o�
(�-*X
X2�*0
+�(�-*X
X2�*0',"
+o�
(�-*X
o,
2�*2YY��*06
+%'{&o�
�_-o�
:3
X
o,
2�Y*0(
1
o,
�**0f
o,
/W'{&o�
�_-o�
:3X
+'*'{&o�
�_-o�
:3
X
o,
2�Y*0(
1
o,
�**0P
o,
/A'{&o�
�_,X
+*'{&o�
�_,
X
o,
2�Y*"(**(&*0#(
,	o,
.
,(**0?<T(
,/Xo,
/!o�
:3X(,	TXX
*0B<(	,	o,
.(,o-
QXo�
Q*r�pQQ*0��o,
2 r|p�
~4
�(	s
z'o�
(�,-(�o�
(�-r�p((	s
zr�p((	s
z0c:o�

3~4
QQ*,o,
Y3r�p:((	r�ps_
zo-
QX
o,
Yo-
Q*.(��'*�o�
Xo,
2+	Xo�
(*.�i(*^�X2+X�(*0���L
(�,H,E(��]��s
�(@
r�p�
	�b�	(0
�+B-
r�p�+(@
( 
�(@
r�p��b�(0
�*(&
*(&
*{8*�2	{81rps~
z-(*(!*0}{8X 0"{3-sM
}3{3oN
&+={6-({7{6�i3({6%{7%
X}7�%{8X}8*0��---*rps9
z-*/r�ps~
z2X�i1rIps~
z{8X 0;{3-2+s"
}3{3o#
&%{8X}8*�]
�(�
*>o,
(*0��---*rps9
z-*/r�ps~
z2Xo,
1rIps~
z{8X 07{3-s$
}3+{3o%
&%{8X}8*�%,(&
X
�ZX(*0@{8 0{3,#{3o'
+{6,(}3}8*0A{4,*
+{4�|( X
{52�}6}7}5*0��{8 1{53({7- {3-~4
+{3o;

8�{3-{8s"
}3+{3{8o(
{8{3o)
Y+-{4�|{9
{3		�io#
&	�iYX{5Y2�{3{4{5Y�|{9o#
&({3o;

*0J{4-; �]}6�|}4{4�|{6}9}5*(*0��{6-(
+u{7{6�i2(
{6�i{7Y/
{6{7�]�("��ZX%{8X}8%{7X}7Y0�*0��{5X{4�i3-{4�iZ�|
{4{4�i(+
}4{4{5�|{:,B{4{5�|{:o,
t!,{4{5�|{:o-
+ �]}6{4%{5%X}5�|}9}7*�{:-{9s.
}:+{:{9o-
}9*0��{83*{8 0{3o'
8�
+0{4�|{9�i2#{4�|{9�iY
X{52�{5/L{4�|{9}6}7X+{4�|( X{52�}5}8*0�>xiia_:�+IS�X�XYi_,0�2@YKT�X�XKT�X�XKT�X�XKT�X�XY/�_,KT�X�XKT�X�X_9�KT�X�X8�2lYIS�X�XIS�X�XIS�X�XIS�X�XIS
�X
�XIS�X�XIS�X�XIS�X�XY/�_,.IS�X�XIS�X�XIS�X�XIS�X�X_,IS�X�XIS�X�X_,IS*�����lSystem.Resources.ResourceReader, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSetPADPADPr����]����;�o�Q�K��M��k˴�;��9��&Z�D�i׻�*ظdW�m�8ݳ�V�AOg��\~��W����	�@�p��R�!|�$.6}G-]��_�Aa�<_q��ze��{E(Oe��c>�~��r�5��F���l�|�$x0Argument_CreateNavigator8InvalidOperation_BadNodeType>JInvalidOperation_UnexpectedEvaluationr*NotSupported_MoveToId� Sch_EnumFinished�$Sch_EnumNotStarted�"XmlUndefinedAlias%Xml_BadNameCharM(Xml_BadStartNameChar�Xml_EmptyName�(Xml_InvalidOperation"Xml_UserExceptionF"Xp_BadQueryObjectK(Xp_CurrentNotAllowed�Xp_ExprExpected�"Xp_FunctionFailed�,Xp_InvalidArgumentType(Xp_InvalidKeyPatternfXp_InvalidName�"Xp_InvalidNumArgs�"Xp_InvalidPattern(Xp_InvalidTokenKXp_NoContexth$Xp_NodeSetExpected�Xp_NotSupported�"Xp_UnclosedString!Xp_UndefFunc>Xp_UndefVarb.Xp_UndefinedXsltContext�Xpn_BadPosition�<This XPathNavigator cannot be created on a node of type {0}.2This operation is not valid on a node of type {0}.6The XPath expression evaluated to unexpected type {0}.)This XPathNavigator does not support IDs.!Enumeration has already finished.+Enumeration has not started. Call MoveNext.&Namespace prefix '{0}' is not defined.IThe '{0}' character, hexadecimal value {1}, cannot be included in a name.BName cannot begin with the '{0}' character, hexadecimal value {1}.(The empty string '' is not a valid name.>Operation is not valid due to the current state of the object.{0}WThis is an invalid object. Only objects returned from Compile() can be passed as input.5The 'current()' function cannot be used in a pattern.'{0}' is an invalid expression.Function '{0}()' has failed.JThe argument to function '{0}' in '{1}' cannot be converted to a node-set.]'{0}' is an invalid key pattern. It either contains a variable reference or 'key()' function.$'{0}' has an invalid qualified name.;Function '{0}' in '{1}' has an invalid number of arguments.!'{0}' is an invalid XSLT pattern.'{0}' has an invalid token.eNamespace Manager or XsltContext needed. This query has a prefix, variable, or user-defined function.'Expression must evaluate to a node-set.'The XPath query '{0}' is not supported.This is an unclosed string."The function '{0}()' is undefined. The variable '{0}' is undefined.DXsltContext is needed for this query because of an unknown function.DOperation is not valid due to the current position of the navigator.BSJBv4.0.30319lȉ#~4��M#Strings��#US��#GUID��U#BlobWߢ+	�%3��J+�/Y8�B��!
�
;%
P%b�g�}���������������"�,�>������W�e����������i���p$�?(�>��,�.�G2�T2�(33R33l33�33Y43{4363I;=;<�Q<��<r<�?r<�?��?�?'@@>@@[@@y@@�@@�@@�@@�@@�@@"A�DA�fA@�A@�A�A�A�A�A�ABB�7B�aB�tB��B� ��B@�B�B��C�.C�AGC�oC��C��C�C�C�
D�3D�C�D��D��D��D�E�CE�CE�}E��E�F�"F�(F�|F��Fr<�Fr<�F�7G�bG�AwG���~G@�G�
�G��G��G@�G�H�H�H�H�H�#H�7H�BPH�XH��H��H��H�YI3qI3�I3�I3L�A3L3MLALyL��L��L��L��L�B�L��L�M�?NM�?xM�?��*�7C[	Ml[
N�[N���n�����[���[���[(�
�����[���[��	[���[��*�����5[��B[��O[��[[���k[��{[���[���[-������[0������
��
���D�
���!���7���O�x�#X�.e�x.n6�q�D+6����+<����,Q����4b���5k��5q���<q���?y���A���D���H��xL��xN���P�0�xS�5Z�>�i�Ko�Qt�W��z�d��{�s��|�����}�������������������������
������������ ���+)���1<���8G�x�BM��FY���N�c���]r�8�g��8�n��`�v���9���H�������������x����D��
������#��-����;���L���\���l��z��������x������-����-����3���8����?����G��PA�w'�{/��;��P����e���z���[0��[	���[	��[	����
������['K(�[/�/9#�E;#�E@#KF@#�F@#J@#S�KS�SS�YS�eS�rS�KS�|S��S��S���S��S��S��S��S�	S�)	S�B	S�_	S��	S��	S��	S��	S��	S��	S��	S��S�
S�
S�&
S�<
S�O
S�Y
S�l
S��
S��
S��
S��
S��
S�S�S�0S�AS�NS�fS�zS��S��S��S��S��S��S�S�'S�=S�RS�\S�rS��S��S��S��S��S��S�
S�#
S�5
S�A
S�W
S�y
S��
S��
S��
S��
S��
S��
S�&�)S�XS�qS��S��S��S��S��S�S�S�%S�3S�HS�ZS�lS��S��S��S��S��S��S��S�S�S�S�2S�BS�TS�aS�mS���a.�e.S�2�S�@�S�D�S�N�S�V�S�_�S�d�S��S���S���S���S���S���S���S��S��S�(�S�5�S�=�S�J�S�V�S�e�S�q�S��S���S���S���S���S���S���S���S���S��S��S�%�S�7�S�J�S�R�S�i�S���S�����V��f/V��f/V��f/V��f/S���S���S���3�/39�03H�03��0�0��V���0V�9�0V�A�0V�K�0V�U�0V�Z�0V�p�0V�{�0V���0V���0�� 1���Fw1Ow1W�)nw1��V�{�1V���1��V���1V���1V���1��V�U�1V���1��V���1V���1V���1V�'�1V���1V���1V���1��V���1V���1V���1S���0��0����1��1����)��1��1
�1��V��1V���1V���1V�A�1V���1V���1V�`�1V���1V���1�T2��V�0n2V�en2V�n2V� n2V�On2V�Gn2V��n2V�n2V��n2�0! �0& + / �8 �)B �)T �Z �2g �2& t � �2��V�� �2V�� �2V�� �2V�� �2V�� �2V�� �2V�
!�2V�!�2V�!!�2V�-!�2V�8!�2V�A!�2V�K!�2V�S!�2V�^!�2V�m!�2V�z!�2V��!�2V��!�2V��!�2V��!�2V��!�2V��!�2V��!�2V��!�2V��!�2V�"�2V�
"�2"e35"t3<"y3B"y3��V��"t3V��"t3V��"t3V��"t3V��"t3V��"t3V��"t3V��"t3V��"t3V��"t3V��"t3V��"t3V��"t3V��"t3V��"t3V��"�1�#%4�#�)& t �#�#�0�#�0/ �4$<4��V��^4V�L$^4V�@^4V�U$^4V�\$^4V�d$^4�0j$%4/ �x$s4}$��$�4�4�#%4�$��$�4�$��$�0Q�0%�8%�4D%�4N%��%y3�%y3�%t &5&&<40&�0M&%5�%y3t & ��0V&�)�&��V��&%5V��&%5V�A%5V��&%5V��&%5V��&%5V��&%5V��&%5V�K%5V�'%5V�
'%5V�'%5V�('%5V��%5j$-'�)6'�)?'�)L'�)X'R5��V���5V��'�5V��'�5V��5��V���5V��'�5V�(�5V�(�5V�(�5(�0*(�)6(w18 �)V&�)nw1�%%44$<48 �)[(%4`(�)}(�)0&�0&5�(�6�(�)�(y3�(t3<"%4B"%4�(%4�(%4�(�)�(�)�#�0)�0t & K)�6W)�6�)�6��6�)7j$%4�)L'�)*J7A*�1G*�1Q*N7W*�1! �1`*j7�*w1& / �`*j7�*�71�,�21�,�21�,�21�,�21�,�21�,�21�,�21�,�21�,�2-�7'-�7I-�2O-�W-�_-�2�-%4�-�2�-%4I-�2�-�2�-�61.x8�-%4�-�2K)�6T ��.�.��.�8�.�8& t �.�.�8�.�)�.�8��V��/�8V��/�8V��/�8V��/�8V��/�8V�0�8V�0�8V�0�8V�0�8V�"0�8V�'0�8V�-0�8V�00�8V�30�8V�60�8V�;0�8V�B0�8V�G0�8V�M0�8V�S0�8V�V0�8V�Y0�8V�\0�8V�`0�8V�c0�8V�j0�8V�m�8V���8V���8V�u0�8V�y0�8}0w1�05�%�06(w1�0%4�0z9�0/ ��(t3<"%4B"%41�0�91�0�9x2%4O�0<"%4B"%4}2�)Q��2�Q���S��2S��213�033�:K3j7[3�:b3�:3X6�0S��6S��6S��6�S��6�S��6�S��6�S��6�S��6�S��6�S��6�S��6�S�	7�S�7�S� 7�S�&7�Q�17Q�B7�;S�U7Q�b7Q�p7Q�y7Q��7Q��7Q��7Q��7Q��7�7j7�74G�7:G�.�8��V��:�GV��:�GV��:�GV���GV��:�GV��:�GQ��:�Q��:�Q�;�Q�+;�W;�Ge;�Gm;�z;�0�;��;�<�0'<H�E�JhF�J�FK�IK�L�R�J�Q	K�K�9>w1TKw1`K�0pKj7xK�Q�K�Q�KR�KR� �/�)� �5�)!�/�)
!�E*!�/i.8!��m.d!��r.g!��w.t!�|.�!��.!"��.,"��.	U"�'C>G
�
�~/
�
��)
W"�/i.
���/
_"�
�)
g"��~/
j"��)
q"���/�
,�/|"�:*�"�J*�#�w�/
3$���/���/�
��/�
��)�
��)�
��)�
��)�
��)�
�~/<$�	�)x$��/�$�)�/�$�	6�/�$�	K~/�$�]�/%�j�/�z~/��~/D%��*�%���/���/���/�%��~/�%��~/��~/��~/�%�~/�~/� ~/&�-i.�8�/�?�/&�H�/d&�H�/�&�T�/�&�T�/l'�T�/!x'�T�/",(���/$|(���/&�(�	d~/'�t�/'�(���/(�(���/)�)��0*�)��0+�)��
0,�)��0.!*��0//*��"00@*��*02i*��103x*��604�*��=06�*��C07�*��K09\+���/:j+��Q0;x+��X0<�+��_0>�+��g0@�+��_0C�+��g0E�+�	~/H�+�o0H�+�o0H�+�'o0H�+�3o0H�+�@o0H�+�Qt0H�+�^�)I,�^{0Jh,�^�0K�,�	j�)L�-�	w�)L�-�	��)M4.�	��)M�.��)N�.�{0O�.��0PD/��)Qd/�{0R�/��0S�/�3�)T�/�3{0U,0�3�0Vt0�'�)W�0�'{0X�0�'�0Y1���0Z1��i.[1���0[T1���0_�1���0c�1���0g�1��0k42���/o�2���/q�2�~/rD3�'�0r�3�T�)r$4�a�0rH4�u�0sh4�~�0t5���0v�5���0w�5���0x�5���0y�5���/z@6���/{�6���/|�6��0|H7��0~�9�%�/�t:�/i.�:�'C>G�|:�/�0��:�
�)��;��0�<<�/�0��=�/i.��=�/�)��=�/$1��=��+1��=��11�>��81�8>��@1�X>�/I1�c>�/P1��>��Y1��>���)���`1���~/��
��/��
�e1��>�	e1�/?�i1�7?�%�/�S?�/i.�b?�/{1�x?�	��/��?��~/�4@�hi.�=@�/{1�H@�
�)��@�/i.��
��)����1����1����1����1����1��
��1��@���0��@���1�A��/�4A�'�1�dA�Z�1��A�/i.��A�#�1��A�6�/��A���1�B�/2�lB�1~/��B�,�/��B�?�/��B�u*��B��*��B��2��B��
2��B���)�0C���)��C���)��C���)�D��~/�D��2�zD��)��D�	~/��D���)��D��/�`E�2�F�!2�<F�,e1��F�]*��G�]�/�,H�?%2�hH�].2��H�j�/�dI�z~/��I��~/��J�j�/��K�S~/��K�a~/�L�s32�ML��i.�^L��~/��L��~/��L��82��L��82��L��82��L��82��L�:*��L�e1��L�#~/��N�(i.��N�.i.�O�'C>G�FO�/i.�NO��Z2�lO���/�pO���)�wO���)�~O���)��O���)��O���)��O���)��O��~/��O��)��O�K~/��O�d~/��O�,�/��O�~/��O�-i.��O��~/��O��~/��O�~/��O�z~/��O��~/��O�?�/��O�]�/��O�j�/��O��*��O���/��O���/��O���/��O� ~/��O�8�/��O���/��O�t�/��O���/��
 d2��
��1��O�/i.��O�/r2�P�/y2�+P�/�2�`P�/�2��P���/��P��e1��P�	H ~/��Q�/�2��Q�/�2��Q�/�2��Q��`1��Q��~/�	R�/y2�R�/�2�!R�/�2�,R��~/��R��`1��R�/y2��R�/�2��R�/�2��R��`1��R��~/�`S�/�2�{S�/�2��S�/�2��S�/�2��S� d2�S���1�S�{ �2�S�� �2�S���)T���)T�'C>G�T�&"k3�T�/}3�T� d2�T���1�T�H"�3�T�Y"�3�T�f"�3�T�'C>GU�/i.U�/�32U��"i.�hi.<U��"�3��e1kU�/i.sU�/�3|U��~/�U�e1�U�#�3���3�#�/	�U�#�3	�U�	%#�3
�
=#�1
�U�	L#�3
�U���3
V���3V���3$V�[#�3
�V�b#�3�V�l#�30W�y#4�W��#4*X��#4UX��/mX�/�3�X�/*4�X�/54qY�hi.�Y�#�3�Y���) �Y���) �Y��#�) �Y�$~/ �Y�
$�/ �Y��e1 �Y���/ �Y�$�/ dZ���3!�Z�%#�3"�Z�=#�1"�Z��/"|[�/*4#�[�/D4'�[�hi.(�[���3(�[�#�/)\���/)=\��e1)E\�e1)R\�L#�3)V\�/*4)c\�/K4-l\�A$R4.�\���30n]��`11v]�L#�31�]�/c41�]�/l43�]�hi.4�]��~/4+^�e148^���/4@^��e14H^��`14P^�/{44_^�/�45^�/{16�^��$�47�^��`17�^���/7
_��e17_�e17"_��~/7H_�hi.7Q_�i17^_�%�/7{_�/�37�_�/�48�_�hi.9�_�#�394`��$i.:�`���3:�`�#�/;+a���/;Oa���4;^a��`1=fa�=#�1=ia��e1=qa�e1=~a�L#�3=�a��/=�a�/�4>�a��$�4A�a��$�4B�a��$e1D�a��$e1Db�%�/Db�/�4D3b�/i.E<b���4E�b�W%e1Gc��4Gc�d%�4H\c��5J�c�/5J�c� d2L�c���1L�c��%�3L�c��%�3L�c�/5L�c� d2Nd���1Nd�&�)N
d���)Nd�/*4N8d�/5Rtd�hi.S�d�:&�/S�d�B&�/T e�#�/T'f��`1T/f�/*5Tgf�/75Y�f� d2[�f���1[�f��%�3[�f�_&@5[�f���)\�f���)\�f���/\�f�i&F5\�f�x&~/\�f��&�)\�f��&�)\�f�hi.]�f�c'W5]�j�o'g5`�j�{'n5adl��'~5dm��'�5fPm��'�5g�o��'�5i(p��'�5k�p��'�5nq��'�5p@q��'�5s`q��'�5u�q��'�5x�q�/i.z�q�/i.z�q�/�5z�q�hi.{�q���/{�q���3{�q�#�/|r�#�3|r��`1}r�=#�1}r��e1}&r�e1})r�L#�3}-r�/*4}:r�/�5�Or�hi.�`r�#�/��r�#�3�7s��`1�?s�/*4�Ws�/�5�|s�hi.��s�#�/�Ht�#�3��t��`1��t�/�5��t�/
6��t�#�3�<u��/��u�/�5��u�/6�v�hi.�$v�#�/�w��`1�w�/�3�)w�/6�`w�hi.�iw�#�3�ww���3��w�#�/��w���/��w�=#�1��w��e1�x�e1�
x�L#�3�x��/�6x�/6�Kx�/+6�`x���3��x��`1��x��e1��x�L#�3�y��/��y�/�3��y�/26��y���3��y�#�3�z��`1�z�/*4� z�/96�,z���3�yz��`1��z�/i.��z�/�4��z�/@6��z�M(J6��z�R(P6��z�V(P6��z��U6��z�/i.��z�/_6��z�hi.��z���/�{��e1�
{�e1�{�#�/�%{�/�3�.{�/f6�7{�#�/�f{���3�t{��`1�|{�=#�1��{�L#�3��{�/m6��{�/x6��{�hi.��{��%6��{�#�3�D|�#�/��|�k(~/�}�#�3��~�L#�3��~��`1��~��/�@�/*4�M�/�6�b�hi.�t�#�/�
��$�/�6���`1�>��/*4�h��/�6����hi.���#�/�����(~/�4���(�/�p���`1�x��#�/�{���`1�~����3�����e1����e1����L#�3����=#�1����hi.������/����/i.����/@5���� d2������1�����(�3����/�6���/�6�;��#�3�U����3�����(�6�׃�=#�1�ڃ��`1����/�;��/�6�`��/�6�Є�hi.����#�3�����3�P��)�3�u�� )�6����6)�6����#�/�l��#�3����=#�1�����`1������/�����e1�����/���/5���/�6�j��hi.�����/����#�/����e1����e)�6�<��s)�)�h��e1���=#�1����/5����/�6����#�3�����3�4��=#�1�u���`1�����/�܊�/7���/7�T��#�3�4����3����#�3�\��=#�1�����`1�����/�,��/7�I���)6�d����)�l���)i.�p����1�����1������1�����1�$����1�d����1�q��/%7�z��/i.���/,7��)17��)97�
�)~/��)�/�*D7���/�1	���*�)
���:*
���)17���)97
����)~/����)�/��*D7��/R7����%]7K��/*4X��/c7d��#�/����`1���/�)đ�/m7ߑ�/,7 ��� d2!�����1!��d*�/!
��/r7!#��/y7#T���`1$\����/$i���e1$q���~/$���/�7$�����3%ǒ�=#�1&Ւ��`1&ؒ��/&��/�7'���*�7(\���*�7)����*�7*����*�7+���*�7,���*�7-t���*�7.��+�7/H��+�70���6+�71��E+�72D��T+�73���_+�74��m+�75P��}+�76����+�77����+�78P���+�79t���+�7:0���+�7;����+�7>���+�7?���+�7@��,�7AX��,�7B��(,�7C@��:,�7D���S,�7E-��d,�7FS��o,�7Gb��y,i.Hp���,�/H����,�7Iȡ�-�7J|��1-�7J4��A-�7Jl��'C>GK5��h-�2K=��r-e1KE��~-e1KM���-�7KU��/8Kz��/i.O���/8O�����3P���#�3Q����`1Rɦ�/8Rߦ�/%8T��#�3U����3V����-,8W����-18X����-68Y ��=#�1Z#���-68Z<���-68[����`1\����/\��/8]��/<8_+��#�3`A���C8aY���H8bd����3cܩ��M8d����-M8e̪��-M8f���-M8g����-M8h!��=#�1i$���`1i,���/i��/S8j���/a8l��#�3m,����3n���-h8o����-m8p���-r8qí�=#�1r���-r8r8��.68s���).68t��2.r8uX��B.r8v̯�Q.r8wڰ�[.M8x��h.r8y���r.r8zo���`1{x���/{���'C>G|	��/8|��#�3~G��|.}8p����3�a��=#�1�p���`1�����/����/�8���/�8���hi.�,��#�/�ٵ�~/�����.~/�/���`1�7��/�3�@��/�8�L����3�����.�8�8��#�3�k���`1�s��/i.�{�� d2�~����1����/�)�ٷ�/�)���/�8���/~/�8��(/�8�`��5/�8�h����)�p����)�x��>/�)����N/�3����^/~/����p/i.����y,~/�<��z/�3�����/�3����/�)�P���/�)����/*4����/e9�ؽ�hi.���#�/����`1���L#�3���/*4�#��/l9�N��hi.�`��#�/�����`1����/�6����/s9���#�3�����3�4��#�3�����`1�����/���/i.����`1�����/����e1���e1����~/���hi.���'C>G����/�0���/r2���/9�<���`1�D����/�L���e1�T��e1�W���~/�k��hi.�t��/�6����/�9����#�3������3�x���0�9�����0�9�D���0�9�����0�9�����0�9���1�9�@��1�9���� 1�9����.1�9����<1�9���<1�9�(��I1�9�X��V1�9����e1�9����t1�9�����1�9�����1�9����1�9�4���1�9�����1�9�����1�9�����1�9� ���1�9�H���1�9�X���1�9�|���1�9����2�9����2�9����#2�9�$��12�9Q���`1Y��<2�9f��=#�1l���/���'C>G�/�9�@2�9	�b2�9�n2�9H��/�7]���~/|��hi.�����)���/�6���/�9��#�38����3n���`1v��=#�1|���/���/�3���/�9�����3$��#�32���`1:��/�3C��/�9L���`1 T���e1 j��L#�3 �
r-e1 �
~-e1 �
��1 �
�-�7 �@2�9 �
�2~/#�
�2~/#�
�2�1#��:#t��/�:$���/�:&�����)'���K~/'8��d~/'x���~/'�����)'���r3�)'0����)'z����)'���3�)'���,�/'�����/'X����)'l���3�:'����3�))3��6�/)`����))����/)(��t�/)H��8�/*|��j�/+���H�/-X��H�//���z~/0��~/0d����/0���?�/1����/2����~/3����/3|����/5���~/6\����/64�� ~/7����~/7����/74���3~/7X��	�3e17|��	4e17���_4�:7���k4�:8$���4�:8P��t�::����4�:<����4�0=���4�:>0���4�:?\��5�:@���'5�:A���H5�:B���c5;B`��'C>GD|���;D����5;G����#;H����+;IE���55;KP���5=;M���5G;P����5Q;R����5];U����5k;W���6{;Z��,6�;[P��:6�.\)��h6�.]8��s6�;^���6�;_3���6�;`h��/i.aP��'C>Gap���70Ga����7>GaT��8BGa���/HGc���8NGd���8TGd���)8TGe���<8TGf��T8TGg��e8TGh(��{8TGi;���8TGjd���8TGkw���8TGl����8TGm����8TGn����8TGo����8TGp����8TGq���	9YGr���9^Gs��!9^Gt��09^Gu*��<9�3vD��Q9cGxy��d9�/{���u9lG|����9lG}$���9qG~P���9xG�x���9lG�����9�G�����9�G�����918� ���9�G����:18����:�G���:�G���+:�.�(��<:�G�X��P:�G����[:�G����k:�G����|:�G����'C>G�����:�G� ���:�G�,���:�G�D���:�G����/i.����/i.�����;e1����;�4�0���;�G�����;�G�f���;�)�x���;�G�,���;i.�x���;i.����
�)�����;i.� ���;�G�����;i.�����;H�����;�4����<H����!JjJ�8��YJi1�@���~/����	�JP6�����Ji.�����Ji.�(��	)K�/�5��/�4�T���Ki.�6<B<K<& �& & e<& K<t �<�<�<�<�<�<�<& & �<�<�<�<�<�<! �<�<�<�<�<! ! �<�<�<! �<�<�<�<�<�<�<�<�<�)�<�<�<�)�)�<�)�<! & �<! 8 & �<8 ! 8 & �<8 ====K<K<======&=&=&=&=&=&=1=t �<�<K<t �<�<K<t �<�<K<t �<�<K<t �<�<K<�<�<! �<E=H=�<! ! ! ! ! K=O=_=�<�<f=�<l=v=��~=���-��-�=��-~=�����=��Fn�)�)A*G*�=W*�=*�<�<*�=�=�=�=�=���=�<t �=��& �<�<}$�}$�<�=& <}$�<}$�<}$�<}$�t �<�<�=�<�=& t �<�<�<�<�<8 ! 8 & �<8 �=! & �<�=! 8 & �<8 �<! 8 & �<8 �=I-g t & g I-I-�-�(�(<"B"�<�=�<�<nO�%�%�%<�=�=�=�=<�=j$K<�=�#�#& t �#�<�<�=n�=�#& t �#�<�<�#& t �#�<&&�<j$�=x$�=n�#�<K)�<�=�=�$�$�$}$}$K<�=�=�=�=�=�%�%& t �#& t ! �<M&�%t & �=M&�%K<K<�=�=>	>�=�=>�=>�=�=>�>�=�=>�=j$j$-'6'j$L'j$-'6'j$L'�<�<O>m �<�<�#& t ! �<�<>m 8 V&�<�<�=>m 8 V&�<�%�<�<�<�=�#& t �#8 �<�<�=>�<�<�<�#m �<�<>>K<�<(>�<n>[(`(�<�%O�=>m �<�=�#& t ! �<�<�(�(<"B"�<�<n�(E=H=�=+>2>�<K)�<9>@>E>@>E>K)�=t & �<K<& t �<�<n�=t & ��<�<nl=�=j$�<L'�)�)A*G*�=W*�=*J>P>t & t & �-�$V>^>*t t & t & �-�$V>^>A*G*�=W*�=�=�#m �<`*`*`*�*& �=`*n�=�*j>y>�#�#�#�#�#�#�#�#�#�>�#�#�#�#�#�>�#�#M&��*�#�#�#�#�#�#�#�>�>�(�>�>I-O-W-_-�<�<�<�-�-�<�<n�>�>nnn�=I-�-�<�<�-�-nnnnnn�=�-�-�<�<n�>�>nnnnnnnnnn�=�-�-�<�<�<�=>8 & t �#V&�<�-�<�<(`*�<�.�#& t �#�<�#& t �#�<�%�0�<K)nO�=�>�=�(<"B"�<�<n�(�>�>�(�>�>�(�>�>�(�>�>�(�>�>�(�>�>�(�>�>�(�>�>�(�>�>�(E=H=�(�>�>�(�>�>�(�>�>�(�>�>�(�>�>�(�>�>�(�>�>�(�>�>�(E=H=�(E=H=�(�>�>�(�>�>�(�>�>�(E=H=�(�>�>�(�>�>�(�>�>�(�>�>�(�>�>�(�>�>�>�=�>�>�(�>�>�(�>�>�>�>9>x2�(<"B"�<�<n�=�%�<�<�<�%�<K)��>K)�$b3�<�>�>l=l=�<�=�<�=! �<�<�<�<�=! �<�>�>�>E=H=�>! �=�=�>�>�>�=�$�<�<9>�$�$b3�$�<�$�<�<�$�<�$�<�<�$�<�$�<�<�$�>K<K<�>K<K<�>K<�7�>�>�>�>�>�>�>�>�>�>�>�>�>�>�>�>�>�>�>�>?�>�>�>�>�>�>?????�>K<%?�<+?-?+?+?-?+?+?-?+?+?+?4?+?-?A?+?t �<+?M?]?& t k?q?v?q?v?q?�;v?�?�?K<K<K<%?�K<K<%?��?��?�?�?�?�?	K,!%)2T=rE�n�!�r�%�aQS�1Q��1)w�/):*)J*�%�4��3~/�4e1�H4e1q/i.y/i.�/,7�/,7�/i.�/�)�/�)�/�)�/�)�/�)�/�)�/�)�/�)�/�)�/�)�/�)�/,7�/�)/H/!H!/�4)/i.1/i.9/�H/�)5�)�B�)/�)	/i.	�B�HI�B�H�/�HY�B�H�Ia�;e1aQ.Ia�-I��Br.a CI�*Iq/�)y/i.a]CacCMI/i.�$fI�/�)�/�)a�CMI	
�)�(i.a�-�Ia�-�Ia�-�I��Cr.�/�I�/i.��C,7��C,7�D�I���I�>D*J�PD�)�\Di.�lD*J��Di.��D*a/i.a�;9J/i.q/XJ$jJ,�P64�DP64��Jq�D5I�~/��Di.�/�J�/i.�D�I��D,7�/�)Y��JYs32�/5Y#~/Y�
2Y��)Y��)Y��)Y�~/Y��)�,E�0Y�~/YS~/�AEi.�UE�)�bE5Y�i.�/i.�;F�J/Ka�-K��F�)9/$1��F�4���)a�;�Ka�;�K	�e1Y/i.Y,�/�GXJ�G,7�3G*1/�)Yz~/</@6</i.<3GJ6De1D�$$LD3GJ6D[#*LaSG;L9/�)Q��)��G5q:*aS�/I�G^L�>D�)a�-gL�,E5D/i.D/@6D�;i.L/i.LM(J6LR(P6Le1T3GJ6\�$$LTe1djJl/i.l/@6le1l3GJ6l�G�Ll�;i.l�$$Lq/�)y�%]7t/i.t�U6tR(P6tM(J6<�$$L<e1|/�4|3GJ6/i./�4/@63GJ6e1�$$L�G�4�/@6�/i.��U6��;i.�R(P6�M(J6�/i.�+H�M�e1��$$L�jJ��P6�>HmN��BsN�/�)�
xNa�%�NAgH�N�qH�N<�$*L��$
O�/�4�3GfI�/�4�3GfI�qH�NA}H,8a.eOa�HmO��-�;��-�;��H�OA
�OaSG�O�H�OaQ..2a�H�O��H�O��H�OtV(P6Y�H�)1�H�P)I~/) I�PQ2I�P9@I�P1MI~/1��P���))��P�_I�)��I�)Y�
2A_I�)1�3�P��#�PQ�I�P1��))��)��IQ���)��I�)y/�)Y�IQ1�I�P9��/I��)A�I�QA�I�Q)/�Q1A�Q�jJAi1��P6Ihi.I��//i.�Le1�K��	K��/�4��K�Q�TKw1�9>w1�!JjJ��KR�`K�0�pKj7��J�Q�xK�Q��Ki.��Ji.��KR�/�4��K�Q�TKw1�/�)XLTRYgLnRatL�RA�L�R��L�R��-�;a�L�R9�L�R9�L�RI/�)a/�R�
�RQ/i.a/�4a�;�Ra/�Ra�;S�*MSa�;�4aAM�4a�;e1Y/i.hM+Si�I�/imM�7i/�7a/i.+++T� �$�(�,�0�48D<D@eD�H�LP�T�X\�`"d�hxl	p�	tP
x|��R�R�s�D�D�e�����w�7�����;�����K�����C�
�����I�����M����{�-���� Y!"�"Q#$�$�%�% X&$
'(�',�(0F)8*<6*@o*D�*H�*L+P++TN+Xm+\�+`�+d�+h�+l ,pI,th,x�,|�,��,��,�!-�D-�c-�|-��-��-��-��-�.�B.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.��.�.�.//////  /$%/(*/,//0/44/89/<>/@C/DH/HM/LR/PW/T\/Xa/`j/do/ht/ly/p�/t�/x�/�j/�o/�t/�y/�1�1�1�1�1�1�o/�t/�j/�o/�t/�o/t/j/o/t/y/o/1 1(j/,o/0t/4�1dj/ho/lt/py/t1x1|1�1�1�j/�o/�t/�y/�1�1�1�1�1�j/�o/�t/�y/�111111333 3$3($3,)30.3433883<=3@B3DG3HL3LQ3PV3T[3X`3pj/to/xt/|y/�1�1�1�1�1�1�3�3�3�3�3�1�j/�o/�t/�1�1�)3 y/lj/po/tt/xy/|1�1�1�1�1�1�3�3�3�3�j/�o/�t/�1�j/�o/�t/�1�1<�8@�8D�8H�8L�8P�8T�8X�8\�8`�8d�8h9l9p9t9x9|9�9�$9�)9�.9�39�89�=9�B9�G9�L9�Q9�V9�[9�`9	:Q3:W:(:,W:0�;4�;8�;<�;@�;Do/Ht/L1P1T)3X�;\�8`�;d�;	h�;l�;p�;t?x�C|�C��C��C��C�?�o/�t/�1�1�1�y/��;�1��;�)3'{	o/.�?T.o/.�6T.�HT.�kS.�KS.cES.kKS.so/.{QS.�QS.�QS.�T.��S.��S.��S.��S.��S.��S��H�So/��H��1I��K�o/#�IK#�K���L#M�o/�so/#so/o/ o/�)CKL�)CKLzo/ zo/@zo/`zo/�zo/�zo/�zo/�zo/{o/�	o/ �	o/��S	o/@�S	o/`�o/��o/��o/�o/ �o/@�o/gTs~@(�I"ISIYInI~I�I�I�I�I�I�I�I�I�I�I�IJJJ%J1J@JIJPJ�J�J�J�J�J$K6K;KDK�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K
LLL1LALVLvL�L�LM M%M4MIMaMsM�M�M�M�M�M�M�M�M�M�M�MNN5NGNPN^NgN�N�N�N�N�N�N�N�N�N�NOO2O>ODO_OrOzO�O�O�O�O�O�O�O�O�O�OPP
PPP*P4P;PBPIPPPXP`PePoP�P�P�P�P�P�P�PQQQ#Q-Q8QDQPQ]QiQqQzQ�Q�Q�Q�Q�Q�Q�QR$R3R=RKRtR}R�R�R�R�R�R�RSS#S;S
 "5B D$G&M(R)S*W+`,d.e/h0m1r2v3w4{6;�@�A�E�F�G�J�K�L�M�N�O�P�Q�R�S�V�W�X�Z�\�]�^�_�b�c�e�h�i�j�l�m�o�p�q�r�w�{���Y�) �.(�.��/��)��/>�0H�0Z�0c�)m�)r�)�)��)��/��)��0��/��/��/��)��)��0��)�0��)(n10s1@s1�0(�0�)�1��05�/>�0?@2ZE2r�)c�)�)��)��/�J2��)H�/��)Qs1`�/iO2d�/ys1�_2Z�0r�)c�)m�)�)��)��)��/��)��/��/>�0 i2�1(n10s1��/ i2�1� �2� 3�)m�) i2�1s"�3�"�3�"�30s1@s1�#4�#�1�#4m�)�)K�)"$�/+$�00s1(n1�#4�#�1(n10s1@s1�#4�#4@s1(n10s1�$�4(n10s1@s1�0(n1�#�10s1@s1�#4
%�4%s1%s1+%n1�%s1 i2�1�%�3�%�3 i2�1&�)�) i2�1�%�3�)m�)Z�0�&L5�&�/�&�)(n1�#�10s1@s1�#4(n1�#�10s1@s1�#40s1�#4(n10s1@s1�#�1�#4�%�6�#40s1@s1�#4�#�1(n1 i2�1�(�3�#�1�#�1(n10s1(n10s1})�)@s1�#�1�#�1�#�1�)�6�)�1p�/0*�)p�/ i2�1u*�0(n10s1�#�1�-�2�-s1�-s1�-8�#�1�#�1�#�1�#�1 i2�1�/�)�/�8�/�8m�)�)�/�)�/4�/�/�#4(n10s1@s1(n10s1@s1�#�1��)�#�10s1�#4�-s1�-s1�1�-8�2�/�2�/�2�1��)��/��/��/c�)m�)r�)>�0Z�0�)��0��)�5s1�5s1�9�G�0�G<s1�K
R�K�0	
 !"#!&#'%B'Y)c+d+e-f-}/~1�3�5�7�9�;�=�?�A�C�E�G�I�K�M�O�Q�S�U�W�Y�[�]�_�a�c�e�g�i�k�m�o�q�s�u�w�y�{�}�����
�����'�(�)�*�+�,�0�1�2�3�4�;�?�D�E�F�V�W�X�Y�Z�[�\�_�`�g�h�i�j�p�u�v�w�|�~����������������������������������������������������	��
�����������!�#�%')+-/1#3(5;7<9=;>=@?CADCEEKGXIZK[M`ObQdSeUfWkYs[w]x_a�c�e�g�i�k�m�o�q�s�u�w�y�{�}���	�����!�"�#�$�%�&�2�A�B�C�K�L�M�t�~�������������������������������������������������������&�)�ln~�	�2>
r~r|r��J��H��F��L��N��P��R�
^I^JtJ�JLLnL�L�L�L�L,M|M�M�M�MNN$N,N�N(OjP�Q�Q�QR!R+RfR8S�9;�9<�9=8�>H�?�(H[���:3UB�M
%$'&7698:8SQZYdckjljyx|{~}}�}�s���U�HU�Q��Q�GR+`R�`RUGR<Module>System.Xml.XPath.dllFXAssemblyThisAssemblyAssemblyRefResDescriptionAttributeSystem.Xml.XPathResCategoryAttributeResHResultsSystemXmlNodeOrderSystem.XmlXPathItemIXPathNavigableXPathNavigatorDebuggerDisplayProxyXPathExtensionsXPathNodeTypeXPathExceptionXPathNodeIteratorEnumeratorXmlSortOrderXmlCaseOrderXmlDataTypeXPathResultTypeXPathExpressionXPathNavigatorKeyComparerXPathNamespaceScopeXPathNavigatorReaderStateXmlEmptyNavigatorAstNodeMS.Internal.Xml.XPathAstTypeXPathAxisIteratorXPathChildIteratorXPathAncestorIteratorXPathDescendantIteratorFunctionFunctionTypeOperatorOpResetableIteratorQueryBaseAxisQueryCacheAxisQueryPreSiblingQueryQueryPropsXPathSelectionIteratorXPathArrayIteratorSortQuerySortKeyXPathSortComparerFilterVariableFollSiblingQueryAxisAxisTypeQueryBuilderFlagsPropsContextQueryAttributeQueryChildrenQueryDescendantBaseQueryDescendantQueryCacheOutputQueryXPathAncestorQueryDocumentOrderQueryParentQueryClonableStack`1ValueQueryGroupQueryFilterQueryNamespaceQueryCacheChildrenQueryEmptyQueryGroupNumericExprUnionExprExtensionQueryVariableQueryFunctionQueryCompiledXpathExprXsltContextSystem.Xml.XslUndefinedXsltContextXPathComparerHelperXPathSelfQueryOperandIteratorFilterOperandQueryXPathParserParamInfoAbsoluteQueryBooleanFunctionsNumberFunctionsStringFunctionsNodeFunctionsDescendantOverDescendantQueryIDQueryRootXPathScannerLexKindPrecedingQueryFollowingQueryMergeFilterQueryXPathEmptyIteratorXPathSingletonIteratorLogicalExprcmpXsltNodeSetBooleanExprForwardPositionQueryReversePositionQueryIXsltContextFunctionIXsltContextVariableXNodeNavigatorXPathEvaluatorExtensionsXPathConvertXmlReservedNsXmlCharTypeValidateNamesXmlExceptionHelperBufferBuilderBuffermscorlibObjectSystem.ComponentModelDescriptionAttributeCategoryAttributeEnumIXmlNamespaceResolverValueTypeSystemExceptionSystem.CollectionsIEnumerableIEnumeratorIEqualityComparerXmlReaderSystem.Collections.GenericIComparer`1TList`1XmlNamespaceManagerIComparerMulticastDelegateIXmlLineInfoVersionTitleDescriptionDefaultAliasCopyrightInformationalVersionDailyBuildNumberStrBuildRevisionStrDailyBuildNumberEcmaPublicKeyEcmaPublicKeyTokenEcmaPublicKeyFullSilverlightPublicKeySilverlightPublicKeyTokenSilverlightPublicKeyFullSilverlightPlatformPublicKeySilverlightPlatformPublicKeyTokenSilverlightPlatformPublicKeyFullPlatformPublicKeyPlatformPublicKeyTokenPlatformPublicKeyFullMscorlibSystemDataSystemDataOracleClientSystemCoreSystemNumericsSystemRuntimeRemotingSystemWindowsFormsSystemXmlMicrosoftPublicKeyMicrosoftPublicKeyTokenMicrosoftPublicKeyFullSharedLibPublicKeySharedLibPublicKeyTokenSharedLibPublicKeyFullSystemComponentModelDataAnnotationsSystemConfigurationSystemConfigurationInstallSystemDeploymentSystemDesignSystemDirectoryServicesSystemDrawingDesignSystemDrawingSystemEnterpriseServicesSystemManagementSystemMessagingSystemNetHttpSystemNetHttpWebRequestChannelSystemRuntimeSerializationFormattersSoapSystemSecuritySystemServiceModelWebSystemServiceProcessSystemWebSystemWebAbstractionsSystemWebDynamicDataSystemWebDynamicDataDesignSystemWebEntityDesignSystemWebExtensionsSystemWebExtensionsDesignSystemWebMobileSystemWebRegularExpressionsSystemWebRoutingSystemWebServicesWindowsBaseMicrosoftVisualStudioMicrosoftVisualStudioWindowsFormsVJSharpCodeProviderASPBrowserCapsPublicKeyASPBrowserCapsFactoryMicrosoftVSDesignerMicrosoftVisualStudioWebMicrosoftWebDesignMicrosoftVSDesignerMobileMicrosoftJScriptreplaced.ctorget_DescriptionGetLocalizedStringArgument_CreateNavigatorInvalidOperation_BadNodeTypeInvalidOperation_UnexpectedEvaluationNotSupported_MoveToIdSch_EnumFinishedSch_EnumNotStartedXmlUndefinedAliasXml_BadNameCharXml_BadStartNameCharXml_EmptyNameXml_InvalidOperationXml_UserExceptionXp_BadQueryObjectXp_CurrentNotAllowedXp_ExprExpectedXp_FunctionFailedXp_InvalidArgumentTypeXp_InvalidKeyPatternXp_InvalidNameXp_InvalidNumArgsXp_InvalidPatternXp_InvalidTokenXp_NoContextXp_NodeSetExpectedXp_NotSupportedXp_UnclosedStringXp_UndefFuncXp_UndefVarXp_UndefinedXsltContextXpn_BadPositionloaderSystem.ResourcesResourceManagerresourcesGetLoaderSystem.GlobalizationCultureInfoget_Cultureget_ResourcesGetStringGetObjectCultureResourcesConfigurationXmlXmlSchemaXmlXsltXmlXPathDataDataDeletedRowInaccessibleDataDuplicateNameDataInRowChangingEventDataInvalidConstraintDataMissingPrimaryKeyDataNoNullAllowedDataReadOnlyDataRowNotInTableDataVersionNotFoundDataConstraintStrongTypingSqlTypeSqlNullValueSqlTruncateAdapterMappingDataAdapterDBConcurrencyOperationAbortedInvalidUdtMetadataInvalidQueryCommandCompilationCommandExecutionSqlExceptionOdbcExceptionOracleExceptionConnectionPlanExceptionNteBadKeySetWin32AccessDeniedWin32InvalidHandleLicenseInternalBufferOverflowServiceControllerTimeoutInstallEFailvalue__BeforeAfterSameUnknownget_IsNodeget_ValueIsNodeValueCreateNavigatorAllMaskNoAttrNmspMaskTextMaskcomparerToStringSetValueXmlNameTableget_NameTableLookupNamespaceLookupPrefixIDictionary`2XmlNamespaceScopeGetNamespacesInScopeget_NavigatorComparerCloneget_NodeTypeget_LocalNameget_Nameget_NamespaceURIget_Prefixget_BaseURIget_IsEmptyElementget_XmlLangReadSubtreeXmlWriterWriteSubtreeget_UnderlyingObjectget_HasAttributesGetAttributeMoveToAttributeMoveToFirstAttributeMoveToNextAttributeGetNamespaceMoveToNamespaceMoveToFirstNamespaceMoveToNextNamespaceMoveToNextMoveToPreviousMoveToFirstMoveToFirstChildMoveToParentMoveToRootMoveToMoveToIdMoveToChildMoveToFollowingget_HasChildrenIsSamePositionIsDescendantComparePositionCompileSelectSingleNodeSelectEvaluateMatchesSelectChildrenSelectAncestorsSelectDescendantsget_CanEditPrependChildAppendChildInsertAfterInsertBeforeCreateAttributesReplaceRangeReplaceSelfget_OuterXmlset_OuterXmlget_InnerXmlset_InnerXmlDeleteRangeDeleteSelfPrependChildElementAppendChildElementInsertElementBeforeInsertElementAfterCreateAttributeMoveToNonDescendantget_IndexInParentNodeTypeLetterUniqueIdTblget_UniqueIdCompileMatchPatternGetDepthCompareSiblingsGetNamespacesContentKindMasksGetContentKindMaskGetKindMaskIsTextIsValidChildTypeIsValidSiblingTypeCreateReaderCreateContextReaderBuildSubtreeget_debuggerDisplayProxyNameTableNavigatorComparerNodeTypeLocalNameNameNamespaceURIPrefixBaseURIIsEmptyElementXmlLangUnderlyingObjectHasAttributesHasChildrenCanEditOuterXmlInnerXmlIndexInParentUniqueIddebuggerDisplayProxynavWriteLocalNamespacesWriteNodeElementAttributeNamespaceTextSignificantWhitespaceWhitespaceProcessingInstructionCommentAllresargsmessageExceptionCreateCreateMessageget_MessageMessagecountMoveNextget_Currentget_CurrentPositionget_CountGetEnumeratorCurrentCurrentPositionCountoriginalcurrentiterationStartedResetnodeIteratorAscendingDescendingNoneUpperFirstLowerFirstNumberStringBooleanNavigatorAnyErrorget_ExpressionAddSortSetContextget_ReturnTypePrintQueryExpressionReturnTypeSystem.Collections.IEqualityComparer.EqualsEqualsSystem.Collections.IEqualityComparer.GetHashCodeGetHashCodeExcludeXmlLocalspacenavToReaddepthstateXmlNodeTypenodeTypeattrCountreadEntireDocumentlineInfosavedStateconvertFromXPathNodeTypeToXmlNodeTypeget_IsReadingSystem.Xml.IXmlNamespaceResolver.GetNamespacesInScopeSystem.Xml.IXmlNamespaceResolver.LookupNamespaceSystem.Xml.IXmlNamespaceResolver.LookupPrefixXmlReaderSettingsget_SettingsXmlSpaceget_XmlSpaceget_HasValueGetElemNavMoveToAttrget_AttributeCountGetNamespaceByIndexMoveToElementget_EOFReadStateget_ReadStateResolveEntityReadAttributeValueget_CanReadBinaryContentReadContentAsBase64ReadContentAsBinHexReadElementContentAsBase64ReadElementContentAsBinHexget_DepthReadCloseSetEOFIsReadingSettingsHasValueAttributeCountEOFCanReadBinaryContentDepthInitialContentEndElementAttrValInReadBinaryClosedSystem.Runtime.CompilerServicesIsVolatilesingletonget_SingletonSingletonget_TypeTypeConstantOperandtypenameuripositionmatchSelffirstget_MatcheslevelfunctionTypeargumentListprefixget_TypeOfFunctionget_ArgumentListReturnTypesTypeOfFunctionArgumentListFuncLastFuncPositionFuncCountFuncIDFuncLocalNameFuncNameSpaceUriFuncNameFuncStringFuncBooleanFuncNumberFuncTrueFuncFalseFuncNotFuncConcatFuncStartsWithFuncContainsFuncSubstringBeforeFuncSubstringAfterFuncSubstringFuncStringLengthFuncNormalizeFuncTranslateFuncLangFuncSumFuncFloorFuncCeilingFuncRoundFuncUserDefinedinvertOpInvertOperatoropTypeopnd1opnd2get_OperatorTypeget_Operand1get_Operand2OperatorTypeOperand1Operand2INVALIDORANDEQNELTLEGTGEPLUSMINUSMULDIVMODUNIONResetCountMoveToPositionXPathResultType_NavigatorSetXsltContextAdvanceMatchNodeget_XsltDefaultPriorityget_StaticTypeget_PropertiesInsertGetMedianCompareNodesAssertDODAssertQueryGetXPathTypeXsltDefaultPriorityStaticTypePropertiesqyInputnameTestnsUritypeTestcurrentNodeget_Namespaceget_NameTestget_TypeTestmatchesNameTestTypeTestoutputBufferNotVisitedPositionCachedReverseMergequeryIList`1listindexget_AsListAsListresultsBuildResultsListnumKeyskeysoriginalPositionnodeget_Itemset_Itemget_NumKeysget_OriginalPositionget_NodeItemNumKeysOriginalPositionNodeminSizeexpressionscomparersnumSortsget_NumSortsSystem.Collections.Generic.IComparer<MS.Internal.Xml.XPath.SortKey>.CompareCompareNumSortsinputconditionget_Inputget_ConditionInputConditionlocalnameget_LocalnameLocalnameelementStkparentStknextInputVisitedFetchInputaxisTypeabbrAxisset_Inputget_TypeOfAxisget_AbbrAxisurnget_Urnset_UrnTypeOfAxisAbbrAxisUrnAncestorAncestorOrSelfChildDescendantDescendantOrSelfFollowingFollowingSiblingParentPrecedingPrecedingSiblingSelfallowVarallowKeyallowCurrentneedContextfirstInputProcessAxisCanBeNumberProcessFilterProcessOperatorProcessVariableProcessFunctionProcessArgumentsProcessNodeBuildBuildPatternQuerySmartDescPosFilterHasPositionHasLastNonFlatcontextNodeonAttributeiteratorIEnumerable`1PushPopPeekcondnoPositionEvaluatePredicateonNamespacepositionStkneedInputDecideNextNodeGetNextInputgroupNodeget_GroupNodeGroupNodeopGetValueqy1qy2advance1advance2nextNodeProcessSamePositionProcessBeforePositionProcessAfterPositionxsltContextqueryIteratorProcessResultget_QNameQNamevariablefunctionexprget_QueryTreeCheckErrorsQueryTreeResolveVariableResolveFunctionget_WhitespacePreserveWhitespaceCompareDocumentnsResolverget_DefaultNamespaceDefaultNamespaceordercaseOrdercinfodataTypevalget_OperandValueOperandValueinnerIteratorscannerParseXPathExpresionParseXPathPatternParseExpresionParseOrExprParseAndExprParseEqualityExprParseRelationalExprParseAdditiveExprParseMultiplicativeExprParseUnaryExprParseUnionExprIsNodeTypeParsePathExprParseFilterExprParsePredicateParseLocationPathParseRelativeLocationPathIsStepParseStepParseNodeTestIsPrimaryExprParsePrimaryExprParseMethodParsePatternParseLocationPathPatternParseIdKeyPatternParseRelativePathPatternParseStepPatternCheckTokenPassTokenNextLexTestOpCheckNodeSettemparray1temparray2temparray3temparray4temparray5temparray6temparray7temparray8temparray9Dictionary`2functionTableCreateFunctionTableAxesTableCreateAxesTableGetAxisftypeminargsmaxargsargTypesget_FTypeget_Minargsget_Maxargsget_ArgTypesFTypeMinargsMaxargsArgTypesargfuncTypetoBooleanNotLangSumFloorCeilingRoundargListtoStringConcatStartsWithCompareInfocompareInfoContainsSubstringBeforeSubstringAfterSubstringStringLengthNormalizeTranslateEvaluateArgMoveUpUntillNextProcessIdsxpathExprxpathExprIndexkindcurrentCharstringValuenumberValuecanBeFunctionxmlCharTypeget_SourceTextget_CurerntCharNextCharPeekNextCharget_Kindget_StringValueget_NumberValueget_CanBeFunctionSkipSpaceScanNumberScanFractionScanStringScanNameSourceTextCurerntCharKindStringValueNumberValueCanBeFunctionCommaSlashAtDotLParensRParensLBracketRBracketStarPlusMinusEqLtGtBangDollarAposQuoteUnionNeLeGeAndOrDotDotSlashSlashAxeEofworkIteratorancestorStkchildInstanceCompXsltECompXsltOcmpQueryQueryEcmpQueryQueryOcmpQueryNumbercmpQueryStringEcmpQueryStringOcmpRtfQueryEcmpRtfQueryOcmpQueryBoolEcmpQueryBoolOcmpBoolBoolEcmpBoolBoolOcmpBoolNumberEcmpBoolNumberOcmpBoolStringEcmpRtfBoolEcmpBoolStringOcmpRtfBoolOcmpNumberNumbercmpNumberNumberOcmpStringNumbercmpRtfNumbercmpStringStringEcmpRtfStringEcmpRtfRtfEcmpStringStringOcmpRtfStringOcmpRtfRtfORtfInvokeIAsyncResultAsyncCallbackBeginInvokeEndInvokeopndisOrget_IsLocalget_IsParamget_VariableTypeIsLocalIsParamVariableTypeDocumentContentMaskxmlPrefixNamespacexmlnsPrefixNamespaceElementContentMasksSystem.Xml.LinqXAttributeXmlNamespaceDeclarationsourceXElementparentnameTableXNodeGetLocalNameGetNamespaceURIXNamespaceGetPrefixOfNamespaceGetPrefixSystem.Xml.IXmlLineInfo.HasLineInfoHasLineInfoSystem.Xml.IXmlLineInfo.get_LineNumberget_LineNumberSystem.Xml.IXmlLineInfo.get_LinePositionget_LinePositionXTextCollectTextCreateNameTableXContainerIsContentIsXmlNamespaceDeclarationGetElementContentMaskGetFirstNamespaceDeclarationGlobalGetFirstNamespaceDeclarationLocalGetNextNamespaceDeclarationGlobalGetNextNamespaceDeclarationLocalGetXmlNamespaceDeclarationHasNamespaceDeclarationInScopeSystem.Xml.IXmlLineInfo.LineNumberSystem.Xml.IXmlLineInfo.LinePositionEvaluateIteratorXPathEvaluateXPathSelectElementXPathSelectElementsXObjectGetXContainerParentCalibrateTextEscapeValueForDebuggerDisplayWhitespaceCharsTrimStringToXPathDoubleXPathRoundSplitStringNsXmlNsXmlNsSurHighStartSurHighEndSurLowStartSurLowEndSurMaskfWhitespacefLetterfNCStartNameSCfNCNameSCfCharDatafNCNameXml4efTextfAttrValues_PublicIdBitmapCharPropertiesSizes_Whitespaces_NCStartNames_NCNames_CharDatas_PublicIDs_Texts_AttrValues_LetterXml4es_NCNameXml4es_Lockget_StaticLocks_CharPropertiescharPropertiesInitInstanceSetPropertiesget_InstanceIsWhiteSpaceIsNCNameSingleCharIsStartNCNameSingleCharIsNameSingleCharIsStartNameSingleCharIsCharDataIsPubidCharIsTextCharIsAttributeValueCharIsLetterIsNCNameCharXml4eIsStartNCNameCharXml4eIsNameCharXml4eIsStartNameCharXml4eIsDigitIsHighSurrogateIsLowSurrogateIsSurrogateCombineSurrogateCharSplitSurrogateCharIsOnlyWhitespaceIsOnlyWhitespaceWithPosIsOnlyCharDataIsOnlyDigitsIsPublicIdInRangeStaticLockParseNmtokenNoNamespacesIsNmtokenNoNamespacesParseNameNoNamespacesIsNameNoNamespacesParseNCNameParseNCNameThrowParseNCNameInternalParseQNameParseQNameThrowThrowInvalidNameSplitQNameNCNamesCheckLocalNameCheckPrefixMappingAllExceptNCNamesAllExceptPrefixMappingBuildCharExceptionArgsBufferSizeInitialBufferArrayLengthMaxStringBuilderLengthDefaultSBCapacitySystem.TextStringBuilderstringBuilderbuffersbuffersCountlastBufferlastBufferIndexlengthget_Lengthset_LengthAppendClearClearBuffersCreateBuffersAppendHelperAddBufferRecycleSetLengthwstrcpyLengthbufferWeakReferencerecycledBufferdescriptioncategoryvalueParamArrayAttributeusedFallbackSystem.Runtime.InteropServicesOutAttributenamespaceURIscopewriterlocalNamenamespaceScopeotheridendxpathresolverexpressioncontextlastSiblingToReplacenewNodenewChildnewSiblinglastSiblingToDeleten1n2xmlfromCurrentNodereadernsNavnavigatordefattrinnerExceptionarg2innerlangnsManagerwobj1obj2objtypxlinamespaceNameitposlreevalQuerysizeixynodetyperootflagspropsqqyParentcapacitycollectionqyquery1query2resultres1res2tabledummybaseUrinextbaseUrixpathExpresionxpathPatternscanerlexKindtnumberstrnumbmovedval1val2oobjectmethodcallbackdocContextattrnsncarangeschlowCharhighCharcombinedCharstartPoslencharsstartsoffsetthrowOnErrorcolonOffsetoffsetStartCharoffsetBadCharlnamedatainvCharIndexinvCharnextCharpSourcebufnewLengthdmemsmemcharCountComVisibleAttributeCLSCompliantAttributeSystem.SecuritySecurityTransparentAttributeSystem.ReflectionAssemblyTitleAttributeAssemblyDescriptionAttributeAssemblyDefaultAliasAttributeAssemblyCompanyAttributeAssemblyProductAttributeAssemblyCopyrightAttributeAssemblyVersionAttributeAssemblyFileVersionAttributeAssemblyInformationalVersionAttributeSatelliteContractVersionAttributeNeutralResourcesLanguageAttributeAssemblyDelaySignAttributeAssemblyKeyFileAttributeSystem.Security.PermissionsSecurityPermissionAttributeSecurityActionSystem.DiagnosticsDebuggableAttributeDebuggingModesCompilationRelaxationsAttributeRuntimeCompatibilityAttributeSystem.CoreExtensionAttributeAttributeUsageAttributeAttributeTargetsset_DescriptionValueGetTypeAssemblyget_AssemblySystem.ThreadingInterlockedCompareExchangeget_CurrentCultureIFormatProviderFormat.cctorDebuggerDisplayAttributeNotSupportedExceptionEmptyop_EqualityInvalidOperationExceptionArgumentNullExceptionop_Inequalityget_InvariantCultureSystem.IOStringWriterXmlWriterSettingsset_Indentset_OmitXmlDeclarationConformanceLevelset_ConformanceLevelTextWriterWriteStartElementWriteStringWriteEndElementWriteStartAttributeWriteEndAttributeGetKeyValuePair`2IEnumerator`1get_KeyAddNamespaceIDisposableDisposeXmlParserContextset_IgnoreWhitespaceStringReaderTextReaderArgumentExceptionWriteAttributeStringWriteFullEndElementWriteCommentWriteProcessingInstructionChar<PrivateImplementationDetails>{35A34D83-62A7-4B45-B5C3-60CEC80716E8}CompilerGeneratedAttribute__StaticArrayInitTypeSize=20$$method0x6000418-1RuntimeHelpersArrayRuntimeFieldHandleInitializeArray__StaticArrayInitTypeSize=64$$method0x6000418-2Int32__StaticArrayInitTypeSize=40$$method0x6000418-3StructLayoutAttributeLayoutKindWriteWhitespaceset_HResultMissingManifestResourceExceptionset_NameTableset_CheckCharactersAddArgumentOutOfRangeExceptionCompareOrdinalConditionalAttributeDoubleMemberInfoWriteElementStringRuntimeTypeHandleGetTypeFromHandleStack`1ICollection`1SortDefaultMemberAttributeRemoveAtInt16Int64UInt32UInt16UInt64SingleDecimalop_ExplicitThreadget_CurrentThreadConvertCompareOptionsCompareToTryGetValueIsNaNStringComparisonget_CharsMathNumberFormatInfoget_InvariantInfoIndexOfget_CompareInfoToInt32get_BaseUriget_FirstAttributeget_IsNamespaceDeclarationget_NextAttributeget_FirstNodeget_NextNodeget_IsEmptyXNameget_NamespaceNameXProcessingInstructionget_Targetget_LastNodeXDocumentget_RootXCommentget_Dataget_Parentget_LastAttributeget_XmlnsGetName$$method0x6000420-1<EvaluateIterator>d__0`1System.Collections.Generic.IEnumerable<T>.GetEnumeratorSystem.Collections.IEnumerable.GetEnumerator<>2__currentSystem.Collections.Generic.IEnumerator<T>.get_CurrentSystem.Collections.IEnumerator.ResetSystem.IDisposable.Dispose<>1__state<>l__initialThreadIdSystem.Collections.IEnumerator.get_Current<>3__result<navigator>5__1<r>5__2<t>5__3<>4__this<>7__wrap4<>7__wrap5<>m__Finally6System.Collections.Generic.IEnumerator<T>.CurrentSystem.Collections.IEnumerator.CurrentDebuggerHiddenAttributeget_ManagedThreadIdXDocumentTypeSystem.LinqEnumerableFirstOrDefaultget_DocumentTrimNumberStylesTryParseToDoubleFormatExceptionOverflowExceptionStringSplitOptionsSplit$$method0x600042a-1MonitorEnterByteExitXmlExceptionSecuritySafeCriticalAttributeget_OffsetToStringDataset_CapacitySecurityCriticalAttributeCopyset_TargetUnverifiableCodeAttributeSystem.Xml.XPath.resources!System.Xml.XPath...xmlIhttp://www.w3.org/XML/1998/namespacexmlns;http://www.w3.org/2000/xmlns/	langXpn_BadPosition
writer]Microsoft.VisualStudio.Modeling.StoreNavigator%Xp_NodeSetExpected#Xp_BadQueryObject#Xp_InvalidPatternnewNode=""xmlns="
xmlns:valuenewChildnewSibling)Xml_InvalidOperation
reader, Name=", Value="navigator#Xml_UserExceptionUNKNOWN()!Sch_EnumFinished%Sch_EnumNotStartedPosition=, Current=	nullobjspacedefaultpreservelocalNameindex	namenamespaceURIKSystem.Xml.DataDocumentXPathNavigatornodeType#XPathSortComparerG... PrintTree() not implemented ...Xp_NotSupported)Xp_InvalidKeyPatterncurrent)Xp_CurrentNotAllowedkey	selfyespositionop:Xp_NoContextXp_UndefVarXp_UndefFunc#Xp_FunctionFailed#XmlUndefinedAlias/Xp_UndefinedXsltContextXp_InvalidTokenoranddivmod	node	text-processing-instructioncomment*#Xp_InvalidNumArgs-Xp_InvalidArgumentTypeid	lastnamespace-urilocal-namecount
string
concatstarts-withcontains!substring-beforesubstring-aftersubstringstring-lengthnormalize-spacetranslatebooleannot	truefalse
numbersumfloorceilingroundancestor!ancestor-or-selfattributechilddescendant%descendant-or-selffollowing#following-siblingnamespace
parentpreceding#preceding-siblingRXp_ExprExpectedXp_InvalidName#Xp_UnclosedString+NotSupported_MoveToId9InvalidOperation_BadNodeTypeKInvalidOperation_UnexpectedEvaluation1Argument_CreateNavigator\"\r\n\t
	


  �1AZaz�����14>AHJ~�������P�������������������������OQ\^�������������1VYYa�����!:AJq�����������	9	=	=	X	a	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	





(
*
0
2
3
5
6
8
9
Y
\
^
^
r
t
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
(*02369==\]_a��������������������(*359`a��������������




(
*
9
`
a
.0023@E��������������������������������@GIi����		<<>>@@LLNNPPTUYY_acceeggiimnrsuu����������������������� EHMPWYY[[]]_}��������������������&!&!*!+!.!.!�!�!00!0)0A0�0�0�01,1N������5AZ__az�����14>AHJ~�������P�������������������������OQ\^�������������1VYYa�����!:AJq�����������	9	=	=	X	a	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	





(
*
0
2
3
5
6
8
9
Y
\
^
^
r
t
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
(*02369==\]_a��������������������(*359`a��������������




(
*
9
`
a
.0023@E��������������������������������@GIi����		<<>>@@LLNNPPTUYY_acceeggiimnrsuu����������������������� EHMPWYY[[]]_}��������������������&!&!*!+!.!.!�!�!00!0)0A0�0�0�01,1N������}-.09AZ__az�������14>AHJ~�������P�����E`a��������������������OQ\^���������������1VYYa�����������������!:@R`ip�������������			9	<	M	Q	T	X	c	f	o	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	







(
*
0
2
3
5
6
8
9
<
<
>
B
G
H
K
M
Y
\
^
^
f
t
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
(*02369<CGHKMVW\]_afo��������������������������������(*359>DFHJMUV`afo��������������������������






(
*
9
>
C
F
H
J
M
W
W
`
a
f
o
.0:@NPY������������������������������������ )557799>GIiq�����������������		<<>>@@LLNNPPTUYY_acceeggiimnrsuu����������������������� EHMPWYY[[]]_}��������������������� � � � &!&!*!+!.!.!�!�!0000!0/01050A0�0�0�0�0�0�0�0�0�01,1N�����	


 ��� %';=\^��� !#%(;==?���$�����������Xml_EmptyName)Xml_BadStartNameCharXml_BadNameChar0x{0:X2}.start�M�5�bEK��`���|�׾�y�1��55.0.5.0(System.Xml.XPath.dll\� Microsoft Corporation.  All rights reserved.5.0.61118.00
6111800�� b77a5c561934e089@00000000000000000400000000000000 31bf3856ad364e35��0024000004800000940000000602000000240000525341310004000001000100B5FC90E7027F67871E773A8FDE8938C81DD402BA65B9201D60593E96C492651E889CC13F1415EBB53FAC1131AE0BD333C5EE6021672D9718EA31A8AEBD0DA0072F25D87DBA6FC90FFD598ED4DA35E44C398C454307E8E33B8426143DAEC9F596836F97C8F74750E5975C64E2189F45DEF46B2A2B1247ADC3652BF5C308055DA9 7cec85d7bea7798e��00240000048000009400000006020000002400005253413100040000010001008D56C76F9E8649383049F383C44BE0EC204181822A6C31CF5EB7EF486944D032188EA1D3920763712CCB12D75FB77E9811149E6148E5D32FBAAB37611C1878DDC19E20EF135D0CB2CFF2BFEC3D115810C3D9069638FE4BE215DBF795861920E5AB6F7DB2E2CEEF136AC23D5DD2BF031700AEC232F6C6B1C785B4305C123B37AB��mscorlib, Version=5.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e��System.Data, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b77a5c561934e089��System.Data.OracleClient, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b77a5c561934e089��System, Version=5.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e��System.Core, Version=5.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e��System.Numerics, Version=5.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e��System.Runtime.Remoting, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b77a5c561934e089��System.Windows.Forms, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b77a5c561934e089��System.Xml, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 b03f5f7f11d50a3a��002400000480000094000000060200000024000052534131000400000100010007D1FA57C4AED9F0A32E84AA0FAEFD0DE9E8FD6AEC8F87FB03766C834C99921EB23BE79AD9D5DCC1DD9AD236132102900B723CF980957FC4E177108FC607774F29E8320E92EA05ECE4E821C0A5EFE8F1645C4C0C93C1AB99285D622CAA652C1DFAD63D745D6F2DE5F17E5EAF0FC4963D261C8A12436518206DC093344D5AD293��System.ComponentModel.DataAnnotations, Version=5.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35��System.Configuration, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a��System.Configuration.Install, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a��System.Deployment, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a��System.Design, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a��System.DirectoryServices, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a��System.Drawing.Design, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a��System.Drawing, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a��System.EnterpriseServices, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a��System.Management, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a��System.Messaging, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a��System.Net.Http, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a��System.Net.Http.WebRequestChannel, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a��System.Runtime.Serialization.Formatters.Soap, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a��System.Security, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a��System.ServiceModel.Web, Version=5.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35��System.ServiceProcess, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a��System.Web, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a��System.Web.Abstractions, Version=5.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35��System.Web.DynamicData, Version=5.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35��System.Web.DynamicData.Design, Version=5.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35��System.Web.Entity.Design, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b77a5c561934e089��System.Web.Extensions, Version=5.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35��System.Web.Extensions.Design, Version=5.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35��System.Web.Mobile, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a��System.Web.RegularExpressions, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a��System.Web.Routing, Version=5.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35��System.Web.Services, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a��WindowsBase, Version=5.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35��Microsoft.VisualStudio, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a��Microsoft.VisualStudio.Windows.Forms, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a��VJSharpCodeProvider, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a b7bd7678b977bd8f��ASP.BrowserCapsFactory, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b7bd7678b977bd8f��Microsoft.VSDesigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a��Microsoft.VisualStudio.Web, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a��Microsoft.Web.Design.Client, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a��Microsoft.VSDesigner.Mobile, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a��Microsoft.JScript, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a  ( 0Argument_CreateNavigator8InvalidOperation_BadNodeTypeJInvalidOperation_UnexpectedEvaluation*NotSupported_MoveToId Sch_EnumFinished$Sch_EnumNotStarted"XmlUndefinedAliasXml_BadNameChar(Xml_BadStartNameCharXml_EmptyName(Xml_InvalidOperation"Xml_UserException"Xp_BadQueryObject(Xp_CurrentNotAllowedXp_ExprExpected"Xp_FunctionFailed,Xp_InvalidArgumentType(Xp_InvalidKeyPatternXp_InvalidName"Xp_InvalidNumArgs"Xp_InvalidPatternXp_InvalidTokenXp_NoContext$Xp_NodeSetExpectedXp_NotSupported"Xp_UnclosedStringXp_UndefFuncXp_UndefVar.Xp_UndefinedXsltContextXpn_BadPositionI MIMI�@�A�B�C� �!�"�#�$�%�&�'�(�)�*�+�0�1�2�3�4�5�6�7�9�:�;�<��8�=�	�������@�$ ( 0����pd Q
 UY) < - ]     h 0 < 0 <0 $0 ` 0 0 0` D D D`   ` `D ` D< D D< D ] ]0 - 0  	`0 $009<< - -](Q)(<((	0]0]0<	 a@@@@a  a D  %(0(D DPTX\ = PTX ` 9  \`(\  h
spacepeEee<l0 0E i e m 0 00  q (i(e(m(quttt |(|| 0 0< 0 �� 0< 0 �� �� ����5 ��5
 5 �� ��x �� 5\(��(5

��������x
 ��xx �� x(��(x ��  �� �H D 00 
 ������DD00 500$00 500�� \(
(����
 ��< ��50 �� �� 050�� 0�� ��y0	 y0 �� y0(y05���� �� ��= 0  (��=  ��	 ����  �� xx �0 ���� ��x< ��x x ��(���� �������� �� �������� ������ ���� ������ 5��5�� ��x���� ��x �� ������ �� �� �� ��< �� �� � ��< � � �	 }  	 � � �
 ���� � ��(�� � � �$ ������ �0
��

	 ���� �4 000�H�� �8 �� �<y���� 5�� �@ �� ��  ��
 ��\ M
 PTX  �T 
 D �\ �� ��x xx���� xx��< �� \
���h���h
�������� ���� \ ��\(\ �l	 ���� �p
 D �t

 
D
 ��y�� �x
 D�� 0D ��< �� �� 0��
��  ��((��,/@.()[]*+-=<>!$'"|NLGAODSnsdaE �� �� ���� �� ����������

��  �� ������ �� �� �� ��
 �H0 �H�Hhttp://www.w3.org/XML/1998/namespace:http://www.w3.org/2000/xmlns/1�8V�6N5����Q ��Q ��	 ������Q	����	����������������	����
0��0}D0��	0��Q��	��	��������
}����}������������


������� �$�����������		


  �4AZ__az�����14>AHJ~�������P�������������������������OQ\^�������������1VYYa�����!:AJq�����������	9	=	=	X	a	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	





(
*
0
2
3
5
6
8
9
Y
\
^
^
r
t
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
(*02369==\]_a��������������������(*359`a��������������




(
*
9
`
a
.0023@E��������������������������������@GIi����		<<>>@@LLNNPPTUYY_acceeggiimnrsuu����������������������� EHMPWYY[[]]_}��������������������&!&!*!+!.!.!�!�!00!0)0A0�0�0�01,1N����ׄ|-.09AZ__az�������14>AHJ~�������P�����E`a��������������������OQ\^���������������1VYYa�����������������!:@R`ip�������������			9	<	M	Q	T	X	c	f	o	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	







(
*
0
2
3
5
6
8
9
<
<
>
B
G
H
K
M
Y
\
^
^
f
t
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
(*02369<CGHKMVW\]_afo��������������������������������(*359>DFHJMUV`afo��������������������������






(
*
9
>
C
F
H
J
M
W
W
`
a
f
o
.0:@NPY������������������������������������ )557799>GIiq�����������������		<<>>@@LLNNPPTUYY_acceeggiimnrsuu����������������������� EHMPWYY[[]]_}��������������������� � � � &!&!*!+!.!.!�!�!0000!0/01050A0�0�0�0�0�0�0�0�0�01,1N�����	


 ���$



 !#%';==?Z__az %';=\^��� !#%(;==?����0AZaz�����14>AHJ~�������P�������������������������OQ\^�������������1VYYa�����!:AJq�����������	9	=	=	X	a	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	





(
*
0
2
3
5
6
8
9
Y
\
^
^
r
t
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
(*02369==\]_a��������������������(*359`a��������������




(
*
9
`
a
.0023@E��������������������������������@GIi����		<<>>@@LLNNPPTUYY_acceeggiimnrsuu����������������������� EHMPWYY[[]]_}��������������������&!&!*!+!.!.!�!�!00!0)0A0�0�0�01,1N�����u ��  ��������     ���� � �
��$��$RSA1����g�w:�މ8���e� `Y>�Ēe���?�?�1��3��`!g-��1���
�/%�}�o��Y���5�L9�EC��;�&=����o��GP�\d��E��k*+G��e+��]� �!� �% �) �)
 M 	�5 M{debuggerDisplayProxy}00�� <0��<0<<	0<<00000D	�D��	�D��-<] �5 �Q
]�U�M�I�M]�I�M]<0<] 0	< ��0��	��<< Q}�Y	 �]�]�Y�Y 9U�Y�]�Y<<<<<
 Q9m-�mi�e
09�ei-	qe��	�������{ToString()} ��
<<<?:Position={CurrentPosition}, Current={debuggerDisplayProxy} �� ����4	���D0000Ei00p0p0<000pe5\����50  	$$	$0
DEBUG00�%����050��0000C>Position={CurrentPosition}, Current={debuggerDisplayProxy, nq}��0y0}05��	 1	0��	Item��=�����0������������	�������������������������5��5������|�������0�`
��0��00\�5��00$
��	��D,\����y����}���]����\�]��a
���]�������H�� M�5
M�� 
	

X
���dxxx��xxx��<����x��	���h 
5�hxx\
x���� 
5�h���h	����������\\\\\\\\�� �� 0\
0
�� �5�� ��


���� 
�� ��
00���|	00\�50��
����	����
��
����
������



��4�������������������������� ������ �������� ����������e �� ��
���� ��
����e��������	����
����h��������������������������h��������������EQ�������� �� ��
�� ������
0}�]����%�a(�	��	�	��
����}
��}�� ������	�� �
�5

�5

	 �
��  �5	 ��E  ��EE����	��System.Xml.XPath.dllMicrosoft CorporationMicrosoft® .NET Framework4/© Microsoft Corporation.  All rights reserved.5.0.61118.005.0.5.0
en-US0+f:\dd\Tools\devdiv\silverlightpublickey.snkTWrapNonExceptionThrows��.��System.Security.Permissions.SecurityPermissionAttribute, mscorlib, Version=5.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798eTSkipVerification���N-�E�'RSDS`N��_r@��۰�System.Xml.XPath.pdbXFnF `F_CorDllMainmscoree.dll�% �a�0�	HX`��4VS_VERSION_INFO������?VStringFileInfo2040904B0LCompanyNameMicrosoft CorporationFFileDescription.NET Frameworkj%FileVersion5.0.61118.00 (SL_V5_RTW.061118-0000)JInternalNameSystem.Xml.XPath.dll�/LegalCopyright� Microsoft Corporation.  All rights reserved.ROriginalFilenameSystem.Xml.XPath.dllNProductNameMicrosoft� Silverlight>
ProductVersion5.0.61118.004CommentsFlavor=Retail2	PrivateBuildDDBLD656DVarFileInfo$Translation	�@�6`0�O	*�H��
��@0�<10	+0h
+�7�Z0X03
+�70%� ��<<<Obsolete>>>0!0	+��6H��Vޑݕ�4a�·�Q��10�`0�L�
.��P�\��0	+0p1+0)U"Copyright (c) 1997 Microsoft Corp.10UMicrosoft Corporation1!0UMicrosoft Root Authority0
070822223102Z
120825070000Z0y10	UUS10U
Washington10URedmond10U
Microsoft Corporation1#0!UMicrosoft Code Signing PCA0�"0
	*�H��
�0�
��y}�]�E9�4�1�%5Iw����Eq��F�Ԍ�kLRb��M�Il/$>e��#�H�u�E���P�%+��
#�A$�b��E��J�ͳ/"�J-|o�;�99ݽ)�f;-2��'H��l�����c��\������򸔣�8�P�'�N�0�=��=����l9�.4��.�
}b�xf��s
����� �O�c�,�2E�J�;PS�fQy����V>��P�n�5�{$�Rf=�N�+~3n�Gў�J�n�����S���0��0U%0
+0��U��0���[�p�ir�#Q~�M��ˡr0p1+0)U"Copyright (c) 1997 Microsoft Corp.10UMicrosoft Corporation1!0UMicrosoft Root Authority���<<��>�c��@0U�0�0U��vp[����N�QD.�Dc�0U�0	+�{��~J&�μNt�X't*u����L�xM����i��|�C�ʇ�S�Ÿ�Vo�cD�D�Ț���
����)}��s���9�=�j�8m҈�#����i	������4�|�.�)��Bk(q�8��
�]hͽ�Akf�����4��|z���B�{������
�p֒�O�8�|-�=�4b7��j#��\c��Z�9�`�U�3�;����_��,���˫� ��0� 
*�R�A�^0�(i��p��΀Brv0�z0�b�
a��0
	*�H��
0y10	UUS10U
Washington10URedmond10U
Microsoft Corporation1#0!UMicrosoft Code Signing PCA0
110221205312Z
120521205312Z0��10	UUS10U
Washington10URedmond10U
Microsoft Corporation1
0UMOPR10UMicrosoft Corporation0�"0
	*�H��
�0�
��qt�ۜ/��c�����p��G*��Z��M�;�!��}|?��v%:ܠO �r�Cq�l����%���]�7�.ū�`q��'�3��֓�U˃����ca�����Fc7�<W�H S��X���ʶFl
�:Φ��ݪ�p�[���?�٤��n����:��J�,��Av	�lg �1�>k�@��p0�0羌�/�Ԇ?Z��h��|�JnYC H����E��Lb΢��%�б��${�|�\N�g����0��0U%0
+0U�r��b_ݣt�_�A�[C&0U��0U#0���vp[����N�QD.�Dc�0DU=0;09�7�5�3http://crl.microsoft.com/pki/crl/products/CSPCA.crl0H+<0:08+0�,http://www.microsoft.com/pki/certs/CSPCA.crt0
	*�H��
�``'�|0IGA7<^u��6H�,X��|�������m��0�!cAF�ׯ(K�6}@T`�b��i�_Ň��|��Y}ۈ�wx�$�d�NQ�D(�,T(r�=,�'oѥa��b:�N/�g}�cC?;��z�x@��x· ���`�R\v�x�cuk���F��YR�{������,~0�1K��Z��x��~`�
�1�r�>g�8�8�9s�;�4߃Ҝ����d_��.�2%vi%�Ս5#��%D0��0���j�O�%��EXzg�0
	*�H��
0p1+0)U"Copyright (c) 1997 Microsoft Corp.10UMicrosoft Corporation1!0UMicrosoft Root Authority0
060916010447Z
190915070000Z0y10	UUS10U
Washington10URedmond10U
Microsoft Corporation1#0!UMicrosoft Timestamping PCA0�"0
	*�H��
�0�
��7n���BJq��H>S����,2�ORȃ�>3�I1�(��d�P���K���u��Ǩծipfx'f趷���Y")/�@�Vv�mdmJT���޿��ǀ�L7����VhG��v\/}�%�V[jc��|<��%M9wt]�\؆7,u��9	|v��lnz��>���q_*Ob`2�҃N+"\hE��/�P����l�%���ׅ�vs6ƕz��`���3���[�A�X��n�,H�o�C�j�&�k��(0�$0U%0
+0��U��0���[�p�ir�#Q~�M��ˡr0p1+0)U"Copyright (c) 1997 Microsoft Corp.10UMicrosoft Corporation1!0UMicrosoft Root Authority���<<��>�c��@0	+�70Uo�N?��4�K�����;AC��0	+�7
SubCA0U�0U�0�0
	*�H��
��M1�|P���a�pE��sT�?	-��QS��9���Vތ�;���ɷ�Q!oi~k�"F�l�m|"�Fӄ���6��~�p]E�����ݎ��*�|�ɮ2Շ��c�6�!�v�;��s�!�ش�T���eJ�(&�`�;�exH�ϭ�:O�bX�0��9���9��!�d�c��C/{F����e�J��t��n̝�(a|H��!8��Ŗ2��@�S=�����f7��"��̰wTQ:�rD�#�0��0���
a�00
	*�H��
0y10	UUS10U
Washington10URedmond10U
Microsoft Corporation1#0!UMicrosoft Timestamping PCA0
080725190115Z
130725191115Z0��10	UUS10U
Washington10URedmond10U
Microsoft Corporation1
0UMOPR1'0%UnCipher DSE ESN:85D3-305C-5BCF1%0#UMicrosoft Time-Stamp Service0�"0
	*�H��
�0�
��-����g%�&b�K�0��8��e4�6�$h�����{b,F�K�Q4��l�Z;���G=.5kE��<�f�i�J�',�<w[��p�KW�Я-����)��Ϟb�rT�;��?��Xl����u7����(����������=���2Ƞd��&qS��'vI�q��2x��lO"e�bMF/�#���p����2�+�@���,�l��2}��~�/2�f��EU���-g�g)���Z�#���0��0U�����i�YhN���zݛ.0U#0�o�N?��4�K�����;AC��0DU=0;09�7�5�3http://crl.microsoft.com/pki/crl/products/tspca.crl0H+<0:08+0�,http://www.microsoft.com/pki/certs/tspca.crt0U%0
+0U��0
	*�H��
�
?w_�<��5���V���/��?qՆ|w����|��
EH��i,�>gbT��'�9��هN��`G#{'@��
1��5��Ӌ�xaŵ�A�>6�X�'�:ڽ]��L��<��b��f���(�2��1	��"hFL��s"�)�"�V�����4�(�Jb����G�
��X;�k	i��H|U�?_8C��?�/�Os	=��^���7�da�M�=p�[���ԣ1�d֖�z?*[FS	<��?ỶSa1��0��0��0y10	UUS10U
Washington10URedmond10U
Microsoft Corporation1#0!UMicrosoft Code Signing PCA
a��0	+���0	*�H��
	1
+�70
+�710
+�70#	*�H��
	1��	�����8U
�ʲ�0T
+�71F0D�*�(System.Xml.XPath.dll��http://microsoft.com0
	*�H��
�/^PH�&�Ǚ�	�zAM_��"�։$�J��H�Hp-|�˵�
W,?�cP$���(Q�,XO�W���j7�/�e�s�}��M��x
�HH�U�ذ�0�|*#%��!�_�en�nI�����S,��Z|7%}r�}!�m��~w��!B��)�\�|:�@뛄C�U�������J���/��ҰX)�K`�vfl�'.�S��I�D}%�ܤڎ��S�i�cD'�
\,c4�����~�Y�*-���0�	*�H��
	1�0�0��0y10	UUS10U
Washington10URedmond10U
Microsoft Corporation1#0!UMicrosoft Timestamping PCA
a�00+�]0	*�H��
	1	*�H��
0	*�H��
	1
111118215958Z0#	*�H��
	1K�����I27����:�0
	*�H��
�A0e�����M�@�Xxݍ�x���ƥ&�I����2��A�PaL�ʼ��2lM�ؑJ�~x��}sks�\�1�9�l	
��?��2KP�a�a��1�4f�K�S�pvA%�{���fS�G3���P�m�ػc�G�dt�3
�~�c�c~(��pϖߖ�{��
;�۾/~�%޻�6_��(�=m|o��G��?K��
%�bv����\�U>E&�K��*@���I��Wdh�id�M>/�a�r(PKc�B�*�$AppManifest.xaml
 �:�b��:�b��:�b�PKc�B�j
���$bGridDemo.dll
 *E:�b�*E:�b�*E:�b�PKc�Bc�nw����&$��System.Windows.Controls.Data.Input.dll
 *E:�b�*E:�b�*E:�b�PKc�Bω�I`I`I$��System.Xml.XPath.dll
 *E:�b�*E:�b�*E:�b�PK�N