লেবেল এবং টেক্সটব্লকের মধ্যে পার্থক্য


132

মতে মাইক্রোসফট .NET 4 70-511 সহ Windows অ্যাপ্লিকেশন ডেভেলপমেন্ট প্রশিক্ষণ কিট

উভয়ই সামগ্রী নিয়ন্ত্রণ এবং কেবল পাঠ্য প্রদর্শন করা হওয়ায় Labelনিয়ন্ত্রণ এবং TextBlockনিয়ন্ত্রণের মধ্যে পার্থক্য কী ?


1
সিলভারলাইটে লেবেল নিয়ন্ত্রণ বৈধতার পরে নিজেই পরিবর্তন হয় (পাঠ্যটি লাল হয়ে যায়)। তবে ডব্লিউপিএফ আলাদা।
ভেরটেক্সওয়ালফ

উত্তর:


214

টেক্সটব্লক কোনও নিয়ন্ত্রণ নয়

যদিও TextBlockSystem.Windows.Controls নেমস্পেসে থাকে, এটি কোনও নিয়ন্ত্রণ নয়। এটি সরাসরি থেকে প্রাপ্ত FrameworkElement। অন্যদিকে লেবেল থেকে এসেছে ContentControl। এর অর্থ এটি Labelকরতে পারে:

  1. একটি কাস্টম নিয়ন্ত্রণ টেম্পলেট দেওয়া হবে ( Templateসম্পত্তি মাধ্যমে )।
  2. কেবল স্ট্রিং ( Contentসম্পত্তিটির মাধ্যমে ) ব্যতীত ডেটা প্রদর্শন করুন ।
  3. DataTemplateএর সামগ্রীতে একটি প্রয়োগ করুন ( ContentTemplateসম্পত্তি মাধ্যমে )।
  4. আর যা কিছু ContentControlকরতে FrameworkElementপারে তা করতে পারে না।

    • Label অক্ষম হলে পাঠ্য ধূসর হয়
    • Label অ্যাক্সেস কী সমর্থন করে
    • Label এর চেয়ে অনেক বেশি ভারী TextBlock

উৎস

আরও কিছু আকর্ষণীয় নীচে পড়ুন


1
আপনার দ্বিতীয় পয়েন্টে: একটি টেক্সটব্লকের সাথে ডেটটাইম বাঁধাই সম্ভব।
অদ্ভুত

26

টেক্সটব্লকটি মাল্টলাইন পাঠ্য প্রদর্শনের জন্য তৈরি হওয়ার সময় লেবেলগুলি সাধারণত একক লাইন পাঠ্য আউটপুট সমর্থন করে।

উদাহরণস্বরূপ wpf টেক্সটব্লকের একটি সম্পত্তি রয়েছে TextWrappingযা মাল্টলাইন ইনপুট সক্ষম করে; লেবেলে এটি নেই।


4
লেবেলের একটি স্বেচ্ছাসেবী সামগ্রী সম্পত্তি রয়েছে। এটি স্ট্রিং হতে পারে তবে এটি একটি টেক্সটব্লক (বা অন্য কোনও নিয়ন্ত্রণ )ও হতে পারে, সুতরাং লেবেলগুলি সামগ্রী হিসাবে টেক্সটব্লকটি ব্যবহার করে মাল্টলাইন হতে পারে।
জিম বাল্টার

26

Labelএর ContentControlঅর্থ হ'ল আপনি এর জন্য সামগ্রী হিসাবে যে কোনও কিছু সেট করতে পারবেন। স্ট্রিং, সংখ্যা, তারিখ, অন্যান্য নিয়ন্ত্রণ, চিত্র, আকার ইত্যাদিসহ একেবারে কিছু TextBlockহ্যান্ডেল করতে পারে strings


3
"অন্যান্য নিয়ন্ত্রণ" একটি পাঠ্যব্লক অন্তর্ভুক্ত করে, সুতরাং একটি লেবেল মোড়কযুক্ত পাঠ্য থাকতে পারে, উদাহরণস্বরূপ।
জিম বাল্টার

9

যদিও টেক্সটব্লক এবং লেবেল উভয়ই পাঠ্য প্রদর্শন করতে ব্যবহৃত হয়, তবে সেগুলি কভারগুলির নিচে বেশ আলাদা।

=> লেবেল থেকে উত্তরাধিকারী ContentControl , একটি বেস বর্গ যে প্রায় কোনো UI 'তে চিন্তনীয় প্রদর্শনের দেয়।

=> অন্যদিকে , টেক্সটলক সরাসরি ফ্রেমওয়ার্ক এলিমেন্ট থেকে উত্তরাধিকার সূত্রে প্রাপ্ত হয়, সুতরাং এটি নিয়ন্ত্রণ থেকে উত্তরাধিকার সূত্রে প্রাপ্ত সমস্ত উপাদানগুলির মধ্যে সাধারণ যে আচরণটি হারিয়ে যায়। টেক্সটব্লকের অগভীর উত্তরাধিকারের স্তরক্রমটি নিয়ন্ত্রণের তুলনায় হালকা ওজনকে লেবেলের তুলনায় হালকা করে তোলে এবং সহজ, নন-ইন্টারেক্টিভ দৃশ্যের জন্য আরও উপযুক্ত suited

পিএস: তবে, আপনি যদি অ্যাক্সেস কীগুলি কাজ করতে চান বা আরও নমনীয় বা গ্রাফিকাল ডিজাইন চান, আপনার লেবেল ব্যবহার করতে হবে।


0

সম্ভবত এর সবচেয়ে বিরক্তিকর বৈশিষ্ট্য 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>

ফলনের ফলস্বরূপ:

এখানে চিত্র বর্ণনা লিখুন

আপনি এটি সম্পর্কে এখানে আরও পড়তে পারেন ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.