Custom Window Chrome in WPF

About a month ago I posted a teaser video that I would be doing a screencast on developing a fully functional custom window chrome for WPF. Well, it's here. I did miss my mark by 8 days though, I had originally wanted to complete it by the 1st. Anyways, here's the demo source code for the video.

Screencast Code:
Custom Window Chrome Demo_2013-03-09 21-35-24Z

164 Comments

  1. Pingback: travatan vs travoprost

  2. Pingback: prednisone

  3. Pingback: Can i order clomid for sale

  4. Pingback: generic for revatio

  5. Pingback: 100 mg Levitra

  6. Pingback: online viagra

  7. Pingback: folding hand fans

  8. Pingback: frenchie chihuahua mix

  9. Pingback: floodle puppies for sale

  10. Pingback: floodle puppies for sale

  11. Pingback: frenchie boston terrier mix

  12. Pingback: floodle puppies for sale

  13. Pingback: vidalista.pics

  14. Pingback: otclevitra.com

  15. Pingback: otcalbuterol.net

  16. Pingback: fildena.homes

  17. Pingback: cheap generic viagra french kamagra

  18. Pingback: Tadalafil from india

  19. Pingback: marfa prada poster

  20. Pingback: chanel activewear

  21. Pingback: need money for porsche

  22. Pingback: french bulldog accessories

  23. Pingback: chanel dog bowl

  24. Pingback: crypto news

  25. Pingback: Impotence is not a normal part of aging and may respond well to what are viagra pills.

  26. Pingback: Kim Miyang Acupuncturist & Herbalist

  27. Pingback: cenforce 200mg 10 euro

  28. Pingback: lasix furosemide

  29. Pingback: best probiotic for english bulldog

  30. Pingback: probiotic dog treats

  31. Pingback: French Bulldog For Sale

  32. Pingback: French Bulldog For Sale

  33. Pingback: Frenchie Puppies

  34. Pingback: Frenchie Puppies

  35. Pingback: Frenchie Puppies

  36. Pingback: Frenchie Puppies

  37. Pingback: French Bulldog Puppies Near Me

  38. Pingback: French Bulldog For Sale

  39. Pingback: golf cart rentals tips

  40. Pingback: vigrakrs.com

  41. Pingback: advair diskus 250 50

  42. Pingback: fildena soft serve

  43. Pingback: cathopic.com/@vidalistablack

  44. Pingback: forum.hcpforum.com/vilitrauses

  45. Pingback: kamagra

  46. Pingback: ventolinha.wordpress.com

  47. Pingback: profcial.wordpress.com

  48. Pingback: fildena 50 mg

  49. Pingback: onglyza saxagliptin

  50. Pingback: amoxforyou.wordpress.com

  51. Pingback: zithrom.wordpress.com

  52. Pingback: viasuper.wordpress.com

  53. Pingback: neuronforyou.wordpress.com

  54. Pingback: golf cart rental isla mujeres

  55. Pingback: clima en atizapán de zaragoza

  56. Pingback: minnect expert

  57. Pingback: elizabeth kerr

  58. Pingback: levitinfo.wordpress.com

  59. Pingback: viagra pills over the counter

  60. Pingback: order cialis online

  61. Pingback: viagra buy over counter

  62. Pingback: kamagra jelly pack

  63. Pingback: order sildenafil for sale

  64. Pingback: imrotab 12

  65. Pingback: famvir 250 mg price

  66. Pingback: buy cenforce 150 with credit card

  67. Pingback: French Bulldog Rescue

  68. Pingback: French Bulldog Rescue

  69. Pingback: French Bulldog Rescue

  70. Pingback: rent a yacht in cancun

  71. Pingback: french pitbull

  72. Pingback: Instagram URL Shortener

  73. Pingback: Dog Registry

  74. Pingback: Dog Papers

  75. Pingback: Dog Registry

  76. Pingback: Dog Papers

  77. Pingback: Dog Registry

  78. Pingback: Dog Registry

  79. Pingback: Dog Papers

  80. Pingback: Dog Registry

  81. Pingback: Dog Papers

  82. Pingback: Dog Registry

  83. Pingback: Dog Registry

  84. Pingback: Dog Papers

  85. Pingback: Dog Registry

  86. Pingback: Dog Registry

  87. Pingback: Dog Registry

  88. Pingback: How To Obtain Dog Papers

  89. Pingback: Dog Breed Registries

  90. Pingback: Dog Breed Registries

  91. Pingback: How To Obtain Dog Papers

  92. Pingback: Dog Papers

  93. Pingback: How To Get My Dog Papers

  94. Pingback: clomidzsu.com

  95. Pingback: dapoxetineus.com

  96. Pingback: lipipzdfrty.com

  97. Pingback: otcalbuterol.com

  98. Pingback: vidalista 60 mg price

  99. Pingback: commander cialis en belgique

  100. Pingback: floodle

  101. Pingback: probiotics for french bulldogs

  102. Pingback: frenchie yorkie mix

  103. Pingback: wix seo

  104. Pingback: linh

  105. Pingback: culiacan clima

  106. Pingback: clima cancún

  107. Pingback: mexican candy near me

  108. Pingback: bjj jiu jitsu cypress texas

  109. Pingback: bjj jiu jitsu magnolia texas

  110. Pingback: french bulldog

  111. Pingback: brazilian jiu jitsu in houston

  112. Pingback: magnolia bjj

  113. Pingback: crypto news

  114. Pingback: sui

  115. Pingback: gaming

  116. Pingback: chanel bucket hat

  117. Pingback: french bulldog puppies for sale in texas

  118. Pingback: french bulldog texas

  119. Pingback: linh hoang

  120. Pingback: mexican candy store near me

  121. Pingback: mexican candy store near me

  122. Pingback: mexican candy store near me

  123. Pingback: mexican candy store near me

  124. Pingback: mexican candy store near me

  125. Pingback: mexican candy store near me

  126. Pingback: mexican candy store near me

  127. Pingback: mexican candy store near me

  128. Pingback: we buy dogs

  129. Pingback: dog probiotic

  130. Pingback: massachusetts boston terriers

  131. Pingback: 늑대닷컴

  132. Pingback: family ho

  133. Pingback: 늑대닷컴

  134. Pingback: french bulldogs to rescue

  135. Pingback: alexa collins

  136. Pingback: hairdresser in houston

  137. Pingback: french bulldog blue color

  138. Pingback: lilac frenchies

  139. Pingback: black frenchies

  140. Pingback: french bulldog puppies for sale $200

  141. Pingback: best french bulldog breeder

  142. Pingback: rent a yacht in cancun

  143. Pingback: isla mujeres condo

  144. Pingback: mexican candy store

  145. Pingback: download rust cheats

  146. Pingback: securecheats halo hacks

  147. Pingback: download hunt cheats

  148. Pingback: securecheats xdefiant hacks

  149. Pingback: aimbot vanguard

  150. Pingback: undetected battlebit hacks

  151. Pingback: micro french bulldog

  152. Pingback: french bulldog puppies near me

  153. Pingback: designer dogs

  154. Pingback: french bulldog rescue

  155. Pingback: clima en chimalhuacan

  156. Pingback: best probiotic for french bulldogs

  157. Pingback: esports domain

  158. Pingback: FB URL Shortener

  159. Thomas Heinze

    Hi David,

    nice tutorial. I’ve working your CustomWindow in my Application.
    Now I want to add a resizegrip for the template but if i add the resizegrip in the template

    I had a white resizegrip on the right site. How can i change that.

    Thanks Thomas

  160. Eugene

    Hello David

    Thanks for the great tutorial, I have been searching for hours with nothing close to what you created.

    There is one thing I am struggling with. If Window’s taskbar is set to autohide, then I cannot bring it back up by taking the mouse pointer to the bottom of the screen as with other programs. With normal WPF window it does work however, so I am guessing there is some windows parameter missing or something.

    Thanks again.

    http://windows.microsoft.com/en-za/windows/show-hide-taskbar#1TC=windows-7

  161. Sertan

    Not sure if this is still relevant but replying just in case it might help. Without an adorner layer, adorners will not render. Adorner layer can be on the control or parent / grandparents of the control in the visual tree.
    In this case if you wrap with , Adorners used inside the window will render as expected.

  162. Sushil

    Got it working! Thanks for your useful suggestion.
    One more issue with custom chrome I was not able to use adorner layer in order to resize controls on the fly.

  163. Sushil

    Hi David,

    Thanks for creating this video as it is quite useful. Could you please tell me how can create sub a sub window/User Control with this chrome. I tried to create a second window but it is throwing “Window must be the root of the tree. Cannot add Window as a child of ” error. Someone told me that I can use User Control to do that but again I getting default window chrome. Please Help.

    1. David Anderson (Post author)

      You have to do something like:

      public class CustomWindow : Window { }
      public class SubClassedWindow : CustomWindow { }

      <myXmlNs:SubClassedWindow> …

      There isn’t such a thing as Xaml inheritance unfortunately, and you can’t nest a Window in Xaml, it must be the outer most Xaml element in the Visual Tree.

Leave a Comment