Click here to Skip to main content
Click here to Skip to main content

Tagged as

WPF : TemplateBinding in code

, 14 Aug 2011 CPOL
Rate this:
Please Sign up or sign in to vote.
Many people i have noticed are struggling to use templatebinding in code using TemplateBindingExtension or TemplateBindingExpression and get the error : “TemplateBindingExtension’ is not valid for Setter.Value. The only supported MarkupExtension types are DynamicResourceExtension and BindingBase or derived types”
 
Instead you can simple use binding as follows :
 
var textblock = new TextBlock();
textblock.Background = Brushes.Blue;
textblock.Text = "saraf";
 
var binding = new Binding("Background");
binding.RelativeSource = new RelativeSource(RelativeSourceMode.Self);
BindingOperations.SetBinding(textblock, TextBlock.ForegroundProperty, binding);
 
//just to show the textblock.
var window = new Window();
window.Content = textblock;
window.ShowDialog();
 

Also if you want to do the same but bind to the TemplatedParent, simply use
 

 
RelativeSourceMode.TemplatedParent

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Saraf Talukder
Software Developer
United Kingdom United Kingdom
Currently living and working in London. He is an enthusiastic software developer passionate about microsoft technologies, specially C#, WPF, Silverlight WCF and windows Azure. Contributes to several open source project and msdn forums.
 
My Blog
twitter : @sarafuddin
Follow on   Twitter

Comments and Discussions

 
GeneralYou can avoid the magic string in the binding by using the N... PinmemberRichard Deeming19-Aug-11 7:17 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web03 | 2.8.141029.1 | Last Updated 14 Aug 2011
Article Copyright 2011 by Saraf Talukder
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid