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

202 Comments

  1. Pingback: in vitro fertilization mexico

  2. Pingback: in vitro fertilization mexico

  3. Pingback: french bulldog houston texas

  4. Pingback: buy redihaler

  5. Pingback: Vidalista mg60

  6. Pingback: ivscab

  7. Pingback: kamagra gel

  8. Pingback: stromectol cost

  9. Pingback: micro frenchie

  10. Pingback: micro french bulldog

  11. Pingback: french bulldog puppies texas

  12. Pingback: travel buddy

  13. Pingback: isla mujeres golf cart

  14. Pingback: joyce echols

  15. Pingback: viet travel tours

  16. Pingback: Nolvadex 20mg 90 tablet

  17. Pingback: geo

  18. Pingback: zofran tablet and amoxil tablet price

  19. Pingback: timolol vs betaxolol

  20. Pingback: stromectoluk.com

  21. Pingback: olimelt 15

  22. Pingback: cialis tadalafil oral jelly

  23. Pingback: zoloft dosage

  24. Pingback: buspirone generic name

  25. Pingback: tadalafil generic

  26. Pingback: clincitop gel cream

  27. Pingback: lilac french bulldogs

  28. Pingback: french bulldogs

  29. Pingback: fluffy french bulldog

  30. Pingback: prednisolone for dogs dosage

  31. Pingback: lilac french bulldogs

  32. Pingback: french bulldogs

  33. Pingback: cenforce 200 mg best price

  34. Pingback: lilac french bulldogs

  35. Pingback: fluffy french bulldog

  36. Pingback: merle french bulldog

  37. Pingback: nitrostat 0.6 mg

  38. Pingback: clomid 50mg for male

  39. Pingback: travatan vs travoprost

  40. Pingback: prednisone

  41. Pingback: Can i order clomid for sale

  42. Pingback: generic for revatio

  43. Pingback: 100 mg Levitra

  44. Pingback: online viagra

  45. Pingback: folding hand fans

  46. Pingback: frenchie chihuahua mix

  47. Pingback: floodle puppies for sale

  48. Pingback: floodle puppies for sale

  49. Pingback: frenchie boston terrier mix

  50. Pingback: floodle puppies for sale

  51. Pingback: vidalista.pics

  52. Pingback: otclevitra.com

  53. Pingback: otcalbuterol.net

  54. Pingback: fildena.homes

  55. Pingback: cheap generic viagra french kamagra

  56. Pingback: Tadalafil from india

  57. Pingback: marfa prada poster

  58. Pingback: chanel activewear

  59. Pingback: need money for porsche

  60. Pingback: french bulldog accessories

  61. Pingback: chanel dog bowl

  62. Pingback: crypto news

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

  64. Pingback: Kim Miyang Acupuncturist & Herbalist

  65. Pingback: cenforce 200mg 10 euro

  66. Pingback: lasix furosemide

  67. Pingback: best probiotic for english bulldog

  68. Pingback: probiotic dog treats

  69. Pingback: French Bulldog For Sale

  70. Pingback: French Bulldog For Sale

  71. Pingback: Frenchie Puppies

  72. Pingback: Frenchie Puppies

  73. Pingback: Frenchie Puppies

  74. Pingback: Frenchie Puppies

  75. Pingback: French Bulldog Puppies Near Me

  76. Pingback: French Bulldog For Sale

  77. Pingback: golf cart rentals tips

  78. Pingback: vigrakrs.com

  79. Pingback: advair diskus 250 50

  80. Pingback: fildena soft serve

  81. Pingback: cathopic.com/@vidalistablack

  82. Pingback: forum.hcpforum.com/vilitrauses

  83. Pingback: kamagra

  84. Pingback: ventolinha.wordpress.com

  85. Pingback: profcial.wordpress.com

  86. Pingback: fildena 50 mg

  87. Pingback: onglyza saxagliptin

  88. Pingback: amoxforyou.wordpress.com

  89. Pingback: zithrom.wordpress.com

  90. Pingback: viasuper.wordpress.com

  91. Pingback: neuronforyou.wordpress.com

  92. Pingback: golf cart rental isla mujeres

  93. Pingback: clima en atizapán de zaragoza

  94. Pingback: minnect expert

  95. Pingback: elizabeth kerr

  96. Pingback: levitinfo.wordpress.com

  97. Pingback: viagra pills over the counter

  98. Pingback: order cialis online

  99. Pingback: viagra buy over counter

  100. Pingback: kamagra jelly pack

  101. Pingback: order sildenafil for sale

  102. Pingback: imrotab 12

  103. Pingback: famvir 250 mg price

  104. Pingback: buy cenforce 150 with credit card

  105. Pingback: French Bulldog Rescue

  106. Pingback: French Bulldog Rescue

  107. Pingback: French Bulldog Rescue

  108. Pingback: rent a yacht in cancun

  109. Pingback: french pitbull

  110. Pingback: Instagram URL Shortener

  111. Pingback: Dog Registry

  112. Pingback: Dog Papers

  113. Pingback: Dog Registry

  114. Pingback: Dog Papers

  115. Pingback: Dog Registry

  116. Pingback: Dog Registry

  117. Pingback: Dog Papers

  118. Pingback: Dog Registry

  119. Pingback: Dog Papers

  120. Pingback: Dog Registry

  121. Pingback: Dog Registry

  122. Pingback: Dog Papers

  123. Pingback: Dog Registry

  124. Pingback: Dog Registry

  125. Pingback: Dog Registry

  126. Pingback: How To Obtain Dog Papers

  127. Pingback: Dog Breed Registries

  128. Pingback: Dog Breed Registries

  129. Pingback: How To Obtain Dog Papers

  130. Pingback: Dog Papers

  131. Pingback: How To Get My Dog Papers

  132. Pingback: clomidzsu.com

  133. Pingback: dapoxetineus.com

  134. Pingback: lipipzdfrty.com

  135. Pingback: otcalbuterol.com

  136. Pingback: vidalista 60 mg price

  137. Pingback: commander cialis en belgique

  138. Pingback: floodle

  139. Pingback: probiotics for french bulldogs

  140. Pingback: frenchie yorkie mix

  141. Pingback: wix seo

  142. Pingback: linh

  143. Pingback: culiacan clima

  144. Pingback: clima cancún

  145. Pingback: mexican candy near me

  146. Pingback: bjj jiu jitsu cypress texas

  147. Pingback: bjj jiu jitsu magnolia texas

  148. Pingback: french bulldog

  149. Pingback: brazilian jiu jitsu in houston

  150. Pingback: magnolia bjj

  151. Pingback: crypto news

  152. Pingback: sui

  153. Pingback: gaming

  154. Pingback: chanel bucket hat

  155. Pingback: french bulldog puppies for sale in texas

  156. Pingback: french bulldog texas

  157. Pingback: linh hoang

  158. Pingback: mexican candy store near me

  159. Pingback: mexican candy store near me

  160. Pingback: mexican candy store near me

  161. Pingback: mexican candy store near me

  162. Pingback: mexican candy store near me

  163. Pingback: mexican candy store near me

  164. Pingback: mexican candy store near me

  165. Pingback: mexican candy store near me

  166. Pingback: we buy dogs

  167. Pingback: dog probiotic

  168. Pingback: massachusetts boston terriers

  169. Pingback: 늑대닷컴

  170. Pingback: family ho

  171. Pingback: 늑대닷컴

  172. Pingback: french bulldogs to rescue

  173. Pingback: alexa collins

  174. Pingback: hairdresser in houston

  175. Pingback: french bulldog blue color

  176. Pingback: lilac frenchies

  177. Pingback: black frenchies

  178. Pingback: french bulldog puppies for sale $200

  179. Pingback: best french bulldog breeder

  180. Pingback: rent a yacht in cancun

  181. Pingback: isla mujeres condo

  182. Pingback: mexican candy store

  183. Pingback: download rust cheats

  184. Pingback: securecheats halo hacks

  185. Pingback: download hunt cheats

  186. Pingback: securecheats xdefiant hacks

  187. Pingback: aimbot vanguard

  188. Pingback: undetected battlebit hacks

  189. Pingback: micro french bulldog

  190. Pingback: french bulldog puppies near me

  191. Pingback: designer dogs

  192. Pingback: french bulldog rescue

  193. Pingback: clima en chimalhuacan

  194. Pingback: best probiotic for french bulldogs

  195. Pingback: esports domain

  196. Pingback: FB URL Shortener

  197. 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

  198. 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

  199. 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.

  200. 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.

  201. 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