টেমপ্লেট সংজ্ঞাটি টেমপ্লেট সংজ্ঞাতে উপাদান বৈশিষ্ট্যের সাথে আবদ্ধ করার জন্য ব্যবহৃত হয়। আপনার উদাহরণে, আপনি লিখতে পারে
<Border Padding="{Binding Padding}" ...>
এর অর্থ সীমান্তের প্যাডিং সম্পত্তির প্যাডিং সম্পত্তিকে আবদ্ধ করার অর্থ ... কী? আপনি বলতে চাইবেন, "এই টেমপ্লেটটি যে নিয়ন্ত্রণের জন্য ব্যবহৃত হচ্ছে তার প্যাডিং সম্পত্তি" " আপনি এটিকে একটি নাম দিতে পারবেন না কারণ আপনি x জানেন না: এই সময়ে নিয়ন্ত্রণের নাম (এমনকি যদি আপনি তা করেন তবে এটি কাজ করবে না কারণ এটি একটি আলাদা নেমস্কোপে রয়েছে)। তবে, আপনি কোনও আপেক্ষিক উত্স নির্ধারণ করে এটি করতে পারেন
<Border Padding="{Binding Padding, RelativeSource={RelativeSource TemplatedParent}" ...>
বা উপরের জন্য টেমপ্লেট বাইন্ডিং যা একটি শর্টকাট (*)
<Border Padding="{TemplateBinding Padding}" ...>
(*) এই টেম্প্লেটিং পরিস্থিতিগুলিতে কম ভার্বোস হওয়ার পাশাপাশি, টেমপ্লেইন্ডিংয়ের নিয়মিত বাইন্ডিংয়ের তুলনায় কয়েকটি পার্থক্য রয়েছে:
- সংকলন সময়ে এটি মূল্যায়ন করা হয়। (যদি উদাহরণস্বরূপ, প্যাডিংয়ের সম্পত্তিটি না থাকলে আপনি একটি সংকলন ত্রুটি পাবেন But
- এটি সর্বদা একমুখী বাধ্যতামূলক।
- এটি প্রয়োজন যে উত্স এবং লক্ষ্য বৈশিষ্ট্য উভয়ই নির্ভরতার বৈশিষ্ট্য ।
- এটা অনেক কম কার্যকারিতা (কোন StringFormat, বিলম্ব IsAsync, ইত্যাদি .. বৈশিষ্ট্য দেখতে হয়েছে বাঁধাই বনাম TemplateBindingExtention )।