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

273 Comments

  1. Pingback: ciplox d ear drops composition

  2. Pingback: Cenforce 200 for sale

  3. Pingback: voltaren gel 1 canadian pharmacy

  4. Pingback: wix seo service

  5. Pingback: wix seo specialists

  6. Pingback: wix seo professional

  7. Pingback: wix seo experts

  8. Pingback: wix seo professional

  9. Pingback: wix seo service

  10. Pingback: ummalife.com/post/520518

  11. Pingback: bento.me/fildena-100

  12. Pingback: cathopic.com/@iverwon

  13. Pingback: datos.cdmx.gob.mx/user/sildenafil

  14. Pingback: community.isc2.org/t5/user/viewprofilepage/user-id/822364665

  15. Pingback: cenforceindia.com

  16. Pingback: priligyforte.com

  17. Pingback: plaqcmd.com

  18. Pingback: ragnarok origin private server

  19. Pingback: tadalafilendy.com

  20. Pingback: priligype.com

  21. Pingback: vidalista.beauty

  22. Pingback: iwermectin.com

  23. Pingback: viahelpmen.wordpress.com

  24. Pingback: fildena.hair

  25. Pingback: zithropak.com

  26. Pingback: ivermectineffects.com

  27. Pingback: dapoxetinedon.com

  28. Pingback: stromectolist.com

  29. Pingback: ciahelp.wordpress.com

  30. Pingback: plaquenilsvo.com

  31. Pingback: right choice trial ribociclib

  32. Pingback: motilium vs motilium v

  33. Pingback: what is a maltipoo dog

  34. Pingback: maltese yorkie mix dog

  35. Pingback: shih poo dogs

  36. Pingback: springer spaniel poodle cross

  37. Pingback: can puppy eat bread

  38. Pingback: american bully life span

  39. Pingback: miniature bulldog

  40. Pingback: cialis super active contrareembolso

  41. Pingback: generative engine optimization

  42. Pingback: blue french bulldog

  43. Pingback: how to obtain dog papers

  44. Pingback: yorkiepoo

  45. Pingback: yacht rentals in cancun mexico

  46. Pingback: when should i take azithromycin

  47. Pingback: how to obtain dog papers

  48. Pingback: dog registry

  49. Pingback: designer kennel club

  50. Pingback: buy cenforce 200mg online

  51. Pingback: afinitor free trial

  52. Pingback: buy cenforce 100 uk

  53. Pingback: Probenecid 250mg tablet

  54. Pingback: French Bulldog puppies in Austin

  55. Pingback: French Bulldog Texas

  56. Pingback: bitcoin

  57. Pingback: french bulldog puppies for sale under $500

  58. Pingback: Vidalista 20

  59. Pingback: purple Fildena 100 mg tablets

  60. Pingback: french bulldog rescue

  61. Pingback: condiciones climaticas queretaro

  62. Pingback: best joint supplement for dogs

  63. Pingback: super p force 200mg

  64. Pingback: kamagra oral jelly pack

  65. Pingback: kamagra 50mg price

  66. Pingback: kamagra oral jelly how to use video

  67. Pingback: french bulldog puppies near me for sale

  68. Pingback: french bulldog rescue

  69. Pingback: linh hoang

  70. Pingback: isla mujeres climate

  71. Pingback: best food for bernedoodles

  72. Pingback: in vitro fertilization mexico

  73. Pingback: in vitro fertilization mexico

  74. Pingback: french bulldog houston texas

  75. Pingback: buy redihaler

  76. Pingback: Vidalista mg60

  77. Pingback: ivscab

  78. Pingback: kamagra gel

  79. Pingback: stromectol cost

  80. Pingback: micro frenchie

  81. Pingback: micro french bulldog

  82. Pingback: french bulldog puppies texas

  83. Pingback: travel buddy

  84. Pingback: isla mujeres golf cart

  85. Pingback: joyce echols

  86. Pingback: viet travel tours

  87. Pingback: Nolvadex 20mg 90 tablet

  88. Pingback: geo

  89. Pingback: zofran tablet and amoxil tablet price

  90. Pingback: timolol vs betaxolol

  91. Pingback: stromectoluk.com

  92. Pingback: olimelt 15

  93. Pingback: cialis tadalafil oral jelly

  94. Pingback: zoloft dosage

  95. Pingback: buspirone generic name

  96. Pingback: tadalafil generic

  97. Pingback: clincitop gel cream

  98. Pingback: lilac french bulldogs

  99. Pingback: french bulldogs

  100. Pingback: fluffy french bulldog

  101. Pingback: prednisolone for dogs dosage

  102. Pingback: lilac french bulldogs

  103. Pingback: french bulldogs

  104. Pingback: cenforce 200 mg best price

  105. Pingback: lilac french bulldogs

  106. Pingback: fluffy french bulldog

  107. Pingback: merle french bulldog

  108. Pingback: nitrostat 0.6 mg

  109. Pingback: clomid 50mg for male

  110. Pingback: travatan vs travoprost

  111. Pingback: prednisone

  112. Pingback: Can i order clomid for sale

  113. Pingback: generic for revatio

  114. Pingback: 100 mg Levitra

  115. Pingback: online viagra

  116. Pingback: folding hand fans

  117. Pingback: frenchie chihuahua mix

  118. Pingback: floodle puppies for sale

  119. Pingback: floodle puppies for sale

  120. Pingback: frenchie boston terrier mix

  121. Pingback: floodle puppies for sale

  122. Pingback: vidalista.pics

  123. Pingback: otclevitra.com

  124. Pingback: otcalbuterol.net

  125. Pingback: fildena.homes

  126. Pingback: cheap generic viagra french kamagra

  127. Pingback: Tadalafil from india

  128. Pingback: marfa prada poster

  129. Pingback: chanel activewear

  130. Pingback: need money for porsche

  131. Pingback: french bulldog accessories

  132. Pingback: chanel dog bowl

  133. Pingback: crypto news

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

  135. Pingback: Kim Miyang Acupuncturist & Herbalist

  136. Pingback: cenforce 200mg 10 euro

  137. Pingback: lasix furosemide

  138. Pingback: best probiotic for english bulldog

  139. Pingback: probiotic dog treats

  140. Pingback: French Bulldog For Sale

  141. Pingback: French Bulldog For Sale

  142. Pingback: Frenchie Puppies

  143. Pingback: Frenchie Puppies

  144. Pingback: Frenchie Puppies

  145. Pingback: Frenchie Puppies

  146. Pingback: French Bulldog Puppies Near Me

  147. Pingback: French Bulldog For Sale

  148. Pingback: golf cart rentals tips

  149. Pingback: vigrakrs.com

  150. Pingback: advair diskus 250 50

  151. Pingback: fildena soft serve

  152. Pingback: cathopic.com/@vidalistablack

  153. Pingback: forum.hcpforum.com/vilitrauses

  154. Pingback: kamagra

  155. Pingback: ventolinha.wordpress.com

  156. Pingback: profcial.wordpress.com

  157. Pingback: fildena 50 mg

  158. Pingback: onglyza saxagliptin

  159. Pingback: amoxforyou.wordpress.com

  160. Pingback: zithrom.wordpress.com

  161. Pingback: viasuper.wordpress.com

  162. Pingback: neuronforyou.wordpress.com

  163. Pingback: golf cart rental isla mujeres

  164. Pingback: clima en atizapán de zaragoza

  165. Pingback: minnect expert

  166. Pingback: elizabeth kerr

  167. Pingback: levitinfo.wordpress.com

  168. Pingback: viagra pills over the counter

  169. Pingback: order cialis online

  170. Pingback: viagra buy over counter

  171. Pingback: kamagra jelly pack

  172. Pingback: order sildenafil for sale

  173. Pingback: imrotab 12

  174. Pingback: famvir 250 mg price

  175. Pingback: buy cenforce 150 with credit card

  176. Pingback: French Bulldog Rescue

  177. Pingback: French Bulldog Rescue

  178. Pingback: French Bulldog Rescue

  179. Pingback: rent a yacht in cancun

  180. Pingback: french pitbull

  181. Pingback: Instagram URL Shortener

  182. Pingback: Dog Registry

  183. Pingback: Dog Papers

  184. Pingback: Dog Registry

  185. Pingback: Dog Papers

  186. Pingback: Dog Registry

  187. Pingback: Dog Registry

  188. Pingback: Dog Papers

  189. Pingback: Dog Registry

  190. Pingback: Dog Papers

  191. Pingback: Dog Registry

  192. Pingback: Dog Registry

  193. Pingback: Dog Papers

  194. Pingback: Dog Registry

  195. Pingback: Dog Registry

  196. Pingback: Dog Registry

  197. Pingback: How To Obtain Dog Papers

  198. Pingback: Dog Breed Registries

  199. Pingback: Dog Breed Registries

  200. Pingback: How To Obtain Dog Papers

  201. Pingback: Dog Papers

  202. Pingback: How To Get My Dog Papers

  203. Pingback: clomidzsu.com

  204. Pingback: dapoxetineus.com

  205. Pingback: lipipzdfrty.com

  206. Pingback: otcalbuterol.com

  207. Pingback: vidalista 60 mg price

  208. Pingback: commander cialis en belgique

  209. Pingback: floodle

  210. Pingback: probiotics for french bulldogs

  211. Pingback: frenchie yorkie mix

  212. Pingback: wix seo

  213. Pingback: linh

  214. Pingback: culiacan clima

  215. Pingback: clima cancún

  216. Pingback: mexican candy near me

  217. Pingback: bjj jiu jitsu cypress texas

  218. Pingback: bjj jiu jitsu magnolia texas

  219. Pingback: french bulldog

  220. Pingback: brazilian jiu jitsu in houston

  221. Pingback: magnolia bjj

  222. Pingback: crypto news

  223. Pingback: sui

  224. Pingback: gaming

  225. Pingback: chanel bucket hat

  226. Pingback: french bulldog puppies for sale in texas

  227. Pingback: french bulldog texas

  228. Pingback: linh hoang

  229. Pingback: mexican candy store near me

  230. Pingback: mexican candy store near me

  231. Pingback: mexican candy store near me

  232. Pingback: mexican candy store near me

  233. Pingback: mexican candy store near me

  234. Pingback: mexican candy store near me

  235. Pingback: mexican candy store near me

  236. Pingback: mexican candy store near me

  237. Pingback: we buy dogs

  238. Pingback: dog probiotic

  239. Pingback: massachusetts boston terriers

  240. Pingback: 늑대닷컴

  241. Pingback: family ho

  242. Pingback: 늑대닷컴

  243. Pingback: french bulldogs to rescue

  244. Pingback: alexa collins

  245. Pingback: hairdresser in houston

  246. Pingback: french bulldog blue color

  247. Pingback: lilac frenchies

  248. Pingback: black frenchies

  249. Pingback: french bulldog puppies for sale $200

  250. Pingback: best french bulldog breeder

  251. Pingback: rent a yacht in cancun

  252. Pingback: isla mujeres condo

  253. Pingback: mexican candy store

  254. Pingback: download rust cheats

  255. Pingback: securecheats halo hacks

  256. Pingback: download hunt cheats

  257. Pingback: securecheats xdefiant hacks

  258. Pingback: aimbot vanguard

  259. Pingback: undetected battlebit hacks

  260. Pingback: micro french bulldog

  261. Pingback: french bulldog puppies near me

  262. Pingback: designer dogs

  263. Pingback: french bulldog rescue

  264. Pingback: clima en chimalhuacan

  265. Pingback: best probiotic for french bulldogs

  266. Pingback: esports domain

  267. Pingback: FB URL Shortener

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

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

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

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

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