মতে মাইক্রোসফট .NET 4 70-511 সহ Windows অ্যাপ্লিকেশন ডেভেলপমেন্ট প্রশিক্ষণ কিট
উভয়ই সামগ্রী নিয়ন্ত্রণ এবং কেবল পাঠ্য প্রদর্শন করা হওয়ায় Label
নিয়ন্ত্রণ এবং TextBlock
নিয়ন্ত্রণের মধ্যে পার্থক্য কী ?
মতে মাইক্রোসফট .NET 4 70-511 সহ Windows অ্যাপ্লিকেশন ডেভেলপমেন্ট প্রশিক্ষণ কিট
উভয়ই সামগ্রী নিয়ন্ত্রণ এবং কেবল পাঠ্য প্রদর্শন করা হওয়ায় Label
নিয়ন্ত্রণ এবং TextBlock
নিয়ন্ত্রণের মধ্যে পার্থক্য কী ?
উত্তর:
যদিও TextBlock
System.Windows.Controls নেমস্পেসে থাকে, এটি কোনও নিয়ন্ত্রণ নয়। এটি সরাসরি থেকে প্রাপ্ত FrameworkElement
। অন্যদিকে লেবেল থেকে এসেছে ContentControl
। এর অর্থ এটি Label
করতে পারে:
Template
সম্পত্তি মাধ্যমে )।Content
সম্পত্তিটির মাধ্যমে ) ব্যতীত ডেটা প্রদর্শন করুন ।DataTemplate
এর সামগ্রীতে একটি প্রয়োগ করুন ( ContentTemplate
সম্পত্তি মাধ্যমে )।আর যা কিছু ContentControl
করতে FrameworkElement
পারে তা করতে পারে না।
Label
অক্ষম হলে পাঠ্য ধূসর হয়Label
অ্যাক্সেস কী সমর্থন করেLabel
এর চেয়ে অনেক বেশি ভারী TextBlock
আরও কিছু আকর্ষণীয় নীচে পড়ুন
টেক্সটব্লকটি মাল্টলাইন পাঠ্য প্রদর্শনের জন্য তৈরি হওয়ার সময় লেবেলগুলি সাধারণত একক লাইন পাঠ্য আউটপুট সমর্থন করে।
উদাহরণস্বরূপ wpf টেক্সটব্লকের একটি সম্পত্তি রয়েছে TextWrapping
যা মাল্টলাইন ইনপুট সক্ষম করে; লেবেলে এটি নেই।
Label
এর ContentControl
অর্থ হ'ল আপনি এর জন্য সামগ্রী হিসাবে যে কোনও কিছু সেট করতে পারবেন। স্ট্রিং, সংখ্যা, তারিখ, অন্যান্য নিয়ন্ত্রণ, চিত্র, আকার ইত্যাদিসহ একেবারে কিছু TextBlock
হ্যান্ডেল করতে পারে strings
।
যদিও টেক্সটব্লক এবং লেবেল উভয়ই পাঠ্য প্রদর্শন করতে ব্যবহৃত হয়, তবে সেগুলি কভারগুলির নিচে বেশ আলাদা।
=> লেবেল থেকে উত্তরাধিকারী ContentControl , একটি বেস বর্গ যে প্রায় কোনো UI 'তে চিন্তনীয় প্রদর্শনের দেয়।
=> অন্যদিকে , টেক্সটলক সরাসরি ফ্রেমওয়ার্ক এলিমেন্ট থেকে উত্তরাধিকার সূত্রে প্রাপ্ত হয়, সুতরাং এটি নিয়ন্ত্রণ থেকে উত্তরাধিকার সূত্রে প্রাপ্ত সমস্ত উপাদানগুলির মধ্যে সাধারণ যে আচরণটি হারিয়ে যায়। টেক্সটব্লকের অগভীর উত্তরাধিকারের স্তরক্রমটি নিয়ন্ত্রণের তুলনায় হালকা ওজনকে লেবেলের তুলনায় হালকা করে তোলে এবং সহজ, নন-ইন্টারেক্টিভ দৃশ্যের জন্য আরও উপযুক্ত suited
পিএস: তবে, আপনি যদি অ্যাক্সেস কীগুলি কাজ করতে চান বা আরও নমনীয় বা গ্রাফিকাল ডিজাইন চান, আপনার লেবেল ব্যবহার করতে হবে।
সম্ভবত এর সবচেয়ে বিরক্তিকর বৈশিষ্ট্য TextBlock
হ'ল অন্তর্নিহিত শৈলীর অনুসন্ধানের আচরণ, যা কেবল নিকটস্থকে স্কুপ করা হয় DataTemplate
। এটি Control
এক্স এক্স উপাদানগুলির জন্য একটি ডিফল্ট আচরণ ।
<StackPanel Orientation="Vertical">
<StackPanel.Resources>
<Style TargetType="TextBlock">
<Setter Property="Foreground" Value="Red"/>
</Style>
<Style TargetType="Label">
<Setter Property="Foreground" Value="Red"/>
</Style>
</StackPanel.Resources>
<ContentControl Content="Test">
<ContentControl.ContentTemplate>
<DataTemplate>
<TextBlock Text="{Binding}"/>
</DataTemplate>
</ContentControl.ContentTemplate>
</ContentControl>
<ContentControl Content="Test">
<ContentControl.ContentTemplate>
<DataTemplate>
<Label Content="{Binding}"/>
</DataTemplate>
</ContentControl.ContentTemplate>
</ContentControl>
</StackPanel>
ফলনের ফলস্বরূপ:
আপনি এটি সম্পর্কে এখানে আরও পড়তে পারেন ।