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

270 Comments

  1. Pingback: wix seo service

  2. Pingback: wix seo specialists

  3. Pingback: wix seo professional

  4. Pingback: wix seo experts

  5. Pingback: wix seo professional

  6. Pingback: wix seo service

  7. Pingback: ummalife.com/post/520518

  8. Pingback: bento.me/fildena-100

  9. Pingback: cathopic.com/@iverwon

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

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

  12. Pingback: cenforceindia.com

  13. Pingback: priligyforte.com

  14. Pingback: plaqcmd.com

  15. Pingback: ragnarok origin private server

  16. Pingback: tadalafilendy.com

  17. Pingback: priligype.com

  18. Pingback: vidalista.beauty

  19. Pingback: iwermectin.com

  20. Pingback: viahelpmen.wordpress.com

  21. Pingback: fildena.hair

  22. Pingback: zithropak.com

  23. Pingback: ivermectineffects.com

  24. Pingback: dapoxetinedon.com

  25. Pingback: stromectolist.com

  26. Pingback: ciahelp.wordpress.com

  27. Pingback: plaquenilsvo.com

  28. Pingback: right choice trial ribociclib

  29. Pingback: motilium vs motilium v

  30. Pingback: what is a maltipoo dog

  31. Pingback: maltese yorkie mix dog

  32. Pingback: shih poo dogs

  33. Pingback: springer spaniel poodle cross

  34. Pingback: can puppy eat bread

  35. Pingback: american bully life span

  36. Pingback: miniature bulldog

  37. Pingback: cialis super active contrareembolso

  38. Pingback: generative engine optimization

  39. Pingback: blue french bulldog

  40. Pingback: how to obtain dog papers

  41. Pingback: yorkiepoo

  42. Pingback: yacht rentals in cancun mexico

  43. Pingback: when should i take azithromycin

  44. Pingback: how to obtain dog papers

  45. Pingback: dog registry

  46. Pingback: designer kennel club

  47. Pingback: buy cenforce 200mg online

  48. Pingback: afinitor free trial

  49. Pingback: buy cenforce 100 uk

  50. Pingback: Probenecid 250mg tablet

  51. Pingback: French Bulldog puppies in Austin

  52. Pingback: French Bulldog Texas

  53. Pingback: bitcoin

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

  55. Pingback: Vidalista 20

  56. Pingback: purple Fildena 100 mg tablets

  57. Pingback: french bulldog rescue

  58. Pingback: condiciones climaticas queretaro

  59. Pingback: best joint supplement for dogs

  60. Pingback: super p force 200mg

  61. Pingback: kamagra oral jelly pack

  62. Pingback: kamagra 50mg price

  63. Pingback: kamagra oral jelly how to use video

  64. Pingback: french bulldog puppies near me for sale

  65. Pingback: french bulldog rescue

  66. Pingback: linh hoang

  67. Pingback: isla mujeres climate

  68. Pingback: best food for bernedoodles

  69. Pingback: in vitro fertilization mexico

  70. Pingback: in vitro fertilization mexico

  71. Pingback: french bulldog houston texas

  72. Pingback: buy redihaler

  73. Pingback: Vidalista mg60

  74. Pingback: ivscab

  75. Pingback: kamagra gel

  76. Pingback: stromectol cost

  77. Pingback: micro frenchie

  78. Pingback: micro french bulldog

  79. Pingback: french bulldog puppies texas

  80. Pingback: travel buddy

  81. Pingback: isla mujeres golf cart

  82. Pingback: joyce echols

  83. Pingback: viet travel tours

  84. Pingback: Nolvadex 20mg 90 tablet

  85. Pingback: geo

  86. Pingback: zofran tablet and amoxil tablet price

  87. Pingback: timolol vs betaxolol

  88. Pingback: stromectoluk.com

  89. Pingback: olimelt 15

  90. Pingback: cialis tadalafil oral jelly

  91. Pingback: zoloft dosage

  92. Pingback: buspirone generic name

  93. Pingback: tadalafil generic

  94. Pingback: clincitop gel cream

  95. Pingback: lilac french bulldogs

  96. Pingback: french bulldogs

  97. Pingback: fluffy french bulldog

  98. Pingback: prednisolone for dogs dosage

  99. Pingback: lilac french bulldogs

  100. Pingback: french bulldogs

  101. Pingback: cenforce 200 mg best price

  102. Pingback: lilac french bulldogs

  103. Pingback: fluffy french bulldog

  104. Pingback: merle french bulldog

  105. Pingback: nitrostat 0.6 mg

  106. Pingback: clomid 50mg for male

  107. Pingback: travatan vs travoprost

  108. Pingback: prednisone

  109. Pingback: Can i order clomid for sale

  110. Pingback: generic for revatio

  111. Pingback: 100 mg Levitra

  112. Pingback: online viagra

  113. Pingback: folding hand fans

  114. Pingback: frenchie chihuahua mix

  115. Pingback: floodle puppies for sale

  116. Pingback: floodle puppies for sale

  117. Pingback: frenchie boston terrier mix

  118. Pingback: floodle puppies for sale

  119. Pingback: vidalista.pics

  120. Pingback: otclevitra.com

  121. Pingback: otcalbuterol.net

  122. Pingback: fildena.homes

  123. Pingback: cheap generic viagra french kamagra

  124. Pingback: Tadalafil from india

  125. Pingback: marfa prada poster

  126. Pingback: chanel activewear

  127. Pingback: need money for porsche

  128. Pingback: french bulldog accessories

  129. Pingback: chanel dog bowl

  130. Pingback: crypto news

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

  132. Pingback: Kim Miyang Acupuncturist & Herbalist

  133. Pingback: cenforce 200mg 10 euro

  134. Pingback: lasix furosemide

  135. Pingback: best probiotic for english bulldog

  136. Pingback: probiotic dog treats

  137. Pingback: French Bulldog For Sale

  138. Pingback: French Bulldog For Sale

  139. Pingback: Frenchie Puppies

  140. Pingback: Frenchie Puppies

  141. Pingback: Frenchie Puppies

  142. Pingback: Frenchie Puppies

  143. Pingback: French Bulldog Puppies Near Me

  144. Pingback: French Bulldog For Sale

  145. Pingback: golf cart rentals tips

  146. Pingback: vigrakrs.com

  147. Pingback: advair diskus 250 50

  148. Pingback: fildena soft serve

  149. Pingback: cathopic.com/@vidalistablack

  150. Pingback: forum.hcpforum.com/vilitrauses

  151. Pingback: kamagra

  152. Pingback: ventolinha.wordpress.com

  153. Pingback: profcial.wordpress.com

  154. Pingback: fildena 50 mg

  155. Pingback: onglyza saxagliptin

  156. Pingback: amoxforyou.wordpress.com

  157. Pingback: zithrom.wordpress.com

  158. Pingback: viasuper.wordpress.com

  159. Pingback: neuronforyou.wordpress.com

  160. Pingback: golf cart rental isla mujeres

  161. Pingback: clima en atizapán de zaragoza

  162. Pingback: minnect expert

  163. Pingback: elizabeth kerr

  164. Pingback: levitinfo.wordpress.com

  165. Pingback: viagra pills over the counter

  166. Pingback: order cialis online

  167. Pingback: viagra buy over counter

  168. Pingback: kamagra jelly pack

  169. Pingback: order sildenafil for sale

  170. Pingback: imrotab 12

  171. Pingback: famvir 250 mg price

  172. Pingback: buy cenforce 150 with credit card

  173. Pingback: French Bulldog Rescue

  174. Pingback: French Bulldog Rescue

  175. Pingback: French Bulldog Rescue

  176. Pingback: rent a yacht in cancun

  177. Pingback: french pitbull

  178. Pingback: Instagram URL Shortener

  179. Pingback: Dog Registry

  180. Pingback: Dog Papers

  181. Pingback: Dog Registry

  182. Pingback: Dog Papers

  183. Pingback: Dog Registry

  184. Pingback: Dog Registry

  185. Pingback: Dog Papers

  186. Pingback: Dog Registry

  187. Pingback: Dog Papers

  188. Pingback: Dog Registry

  189. Pingback: Dog Registry

  190. Pingback: Dog Papers

  191. Pingback: Dog Registry

  192. Pingback: Dog Registry

  193. Pingback: Dog Registry

  194. Pingback: How To Obtain Dog Papers

  195. Pingback: Dog Breed Registries

  196. Pingback: Dog Breed Registries

  197. Pingback: How To Obtain Dog Papers

  198. Pingback: Dog Papers

  199. Pingback: How To Get My Dog Papers

  200. Pingback: clomidzsu.com

  201. Pingback: dapoxetineus.com

  202. Pingback: lipipzdfrty.com

  203. Pingback: otcalbuterol.com

  204. Pingback: vidalista 60 mg price

  205. Pingback: commander cialis en belgique

  206. Pingback: floodle

  207. Pingback: probiotics for french bulldogs

  208. Pingback: frenchie yorkie mix

  209. Pingback: wix seo

  210. Pingback: linh

  211. Pingback: culiacan clima

  212. Pingback: clima cancún

  213. Pingback: mexican candy near me

  214. Pingback: bjj jiu jitsu cypress texas

  215. Pingback: bjj jiu jitsu magnolia texas

  216. Pingback: french bulldog

  217. Pingback: brazilian jiu jitsu in houston

  218. Pingback: magnolia bjj

  219. Pingback: crypto news

  220. Pingback: sui

  221. Pingback: gaming

  222. Pingback: chanel bucket hat

  223. Pingback: french bulldog puppies for sale in texas

  224. Pingback: french bulldog texas

  225. Pingback: linh hoang

  226. Pingback: mexican candy store near me

  227. Pingback: mexican candy store near me

  228. Pingback: mexican candy store near me

  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: we buy dogs

  235. Pingback: dog probiotic

  236. Pingback: massachusetts boston terriers

  237. Pingback: 늑대닷컴

  238. Pingback: family ho

  239. Pingback: 늑대닷컴

  240. Pingback: french bulldogs to rescue

  241. Pingback: alexa collins

  242. Pingback: hairdresser in houston

  243. Pingback: french bulldog blue color

  244. Pingback: lilac frenchies

  245. Pingback: black frenchies

  246. Pingback: french bulldog puppies for sale $200

  247. Pingback: best french bulldog breeder

  248. Pingback: rent a yacht in cancun

  249. Pingback: isla mujeres condo

  250. Pingback: mexican candy store

  251. Pingback: download rust cheats

  252. Pingback: securecheats halo hacks

  253. Pingback: download hunt cheats

  254. Pingback: securecheats xdefiant hacks

  255. Pingback: aimbot vanguard

  256. Pingback: undetected battlebit hacks

  257. Pingback: micro french bulldog

  258. Pingback: french bulldog puppies near me

  259. Pingback: designer dogs

  260. Pingback: french bulldog rescue

  261. Pingback: clima en chimalhuacan

  262. Pingback: best probiotic for french bulldogs

  263. Pingback: esports domain

  264. Pingback: FB URL Shortener

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

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

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

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

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