দৃশ্যমানতার মধ্যে পার্থক্য la


287

ডাব্লুপিএফ Visibility.Collapsedএবং এর Visibility.Hiddenমধ্যে পার্থক্য কী ?


4
লুকানো এবং সঙ্কুচিত হয়ে যাওয়ার মধ্যে কি পারফরম্যান্স ডাইফেরেন্ট রয়েছে? বস্তুটি যে ভেঙে পড়েছে তার কোনও উদাহরণ আছে?
বুলি

@ বুলি হ্যাঁ পারফরম্যান্সের পার্থক্য রয়েছে, একটি অদৃশ্য নিয়ন্ত্রণ এখনও লেআউটিং পাসের সাপেক্ষে থাকবে, যেখানে একটি ধসে পড়া নিয়ন্ত্রণকে আটকানো হবে না। সুতরাং উদাহরণস্বরূপ, একটি বৃহত গ্রিড এর দৃশ্যমানতা অদৃশ্য হলে কার্যকারিতাটিকে নেতিবাচকভাবে প্রভাবিত করতে পারে।
মারিয়াস হার্জোগ

উত্তর:


426

পার্থক্যটি হ'ল Visibility.Hiddenনিয়ন্ত্রণটি আড়াল করে তবে বিন্যাসে এটি স্থান দখল করে। সুতরাং এটি নিয়ন্ত্রণের পরিবর্তে সাদা স্থান সরবরাহ করে re Visibilty.Collapsedনিয়ন্ত্রণ রেন্ডার নেই এবং হোয়াইটস্পেস রিজার্ভ নেই। নিয়ন্ত্রণটি যে স্থান গ্রহণ করবে তা হ'ল 'ধসে', সেই কারণেই নাম।

এমএসডিএন থেকে সঠিক পাঠ্য:

সঙ্কুচিত : উপাদানটি প্রদর্শন করবেন না এবং লেআউটে এটির জন্য স্থান সংরক্ষণ করবেন না।

লুকানো : উপাদানটি প্রদর্শন করবেন না, তবে বিন্যাসে উপাদানটির জন্য স্থান সংরক্ষণ করুন।

দৃশ্যমান : উপাদানটি প্রদর্শন করুন।

দেখুন: http://msdn.microsoft.com/en-us/library/system.windows.visibility.aspx


2
তার মানে নিয়ন্ত্রণের প্রস্থ এবং উচ্চতাটি ধসে পড়লে শূন্যে সেট হবে।
সাওরন

27
আচ্ছা, লেআউট এর ক্ষেত্রে, হ্যাঁ। এটি অবশ্যই প্রস্থ এবং উচ্চতা শূন্যের চেয়ে বেশি সেট করে। যখন দৃশ্যমানতাটি ধসে পড়েছে, নিয়ন্ত্রণটিতে ফোকাস থাকতে পারে না, আপনি টিএবি কী, ইত্যাদি ব্যবহার করে নিয়ন্ত্রণটিতে চলাচল করতে পারবেন না, এটির উচ্চতা এবং প্রস্থের শূন্যতা থাকলেও সবগুলিই এখনও করতে পারে। তবে আবার, বিন্যাসের ক্ষেত্রে, আপনি এটি বলতে পারেন।
রাজ্জি

3
আমি খুঁজে পেয়েছি যে ওয়েব ব্রাউজার নিয়ন্ত্রণের সাথে লুকানো (এবং তারপরে দৃশ্যমান) ব্যবহার করা আমাকে খুব বেমানান ফলাফল দেয়। সঙ্কুচিত (তার পরে দৃশ্যমান) ব্যবহার করা আরও ভাল কাজ করে বলে মনে হচ্ছে।
টার্নারি

একটি ধসের নিয়ন্ত্রণ এখনও "সক্রিয়"। আমি একটি ওয়েব ব্রাউজার নিয়ন্ত্রণ ব্যবহার করছি তবে এটি দেখাতে চাই না তবে ভিন্ন ভিন্ন পৃষ্ঠাগুলি নেভিগেট করতে এবং স্টাফ করতে আমার এটি দরকার
সফটওয়্যারটি মজাদার

ক্রোমে, শ্বেত স্থান অদৃশ্য হওয়ার জন্য আমাদের <ডি স্টাইল = "প্রদর্শন: কিছুই নয়"> ব্যবহার করতে হয়েছিল। "সঙ্কুচিত" কোনও দৃশ্যমানতার বিকল্প নয়। "সঙ্কুচিত" একটি মান, তবে স্থান এখনও ছিল।
প্রেক্সাইটেলস

55

দৃশ্যমানতা: লুকানো বনাম সঙ্কুচিত

নিম্নলিখিত কোডগুলি বিবেচনা করুন যা কেবল দেখায় three Labelsএবং এর মতো দ্বিতীয় Label visibilityহয় Collapsed:

 <StackPanel Orientation="Horizontal" VerticalAlignment="Top" HorizontalAlignment="Center">
    <StackPanel.Resources>
        <Style TargetType="Label">
            <Setter Property="Height" Value="30" />
            <Setter Property="Margin" Value="0"/>
            <Setter Property="BorderBrush" Value="Black"/>
            <Setter Property="BorderThickness" Value="1" />
        </Style>
    </StackPanel.Resources>
    <Label Width="50" Content="First"/>
    <Label Width="50" Content="Second" Visibility="Collapsed"/>
    <Label Width="50" Content="Third"/>
</StackPanel>

আউটপুট সঙ্কুচিত:

ধসা

এখন দ্বিতীয় পরিবর্তন Label visibilityকরতে Hiddden

<Label Width="50" Content="Second" Visibility="Hidden"/>

আউটপুট লুকানো:

গোপন

এর মত সহজ.


9

যদিও কিছুটা পুরানো থ্রেড, এখনও যারা এই পার্থক্যগুলি সন্ধান করছেন তাদের জন্য:

হাইডে নেওয়া এবং সঙ্কুচিত অবস্থায় নেওয়া হয়নি লেআউট (স্থান) বাদে অন্য পার্থক্য রয়েছে।

যদি আমাদের এই 'সঙ্কুচিত' প্রধান নিয়ন্ত্রণের মধ্যে কাস্টম নিয়ন্ত্রণ থাকে, পরের বার আমরা এটি দৃশ্যমানতে সেট করি, এটি সমস্ত কাস্টম নিয়ন্ত্রণগুলি "লোড" করবে। উইন্ডোটি শুরু হওয়ার পরে এটি প্রাক লোড হবে না।

'লুকানো' হিসাবে, এটি সমস্ত কাস্টম নিয়ন্ত্রণ + মূল নিয়ন্ত্রণ লোড করবে যা আমরা "উইন্ডো" শুরু হওয়ার পরে গোপন হিসাবে সেট করেছি।


2
আমি নিশ্চিত যে এটি ভুল। আমার বর্তমান অ্যাপ্লিকেশনটি আমার সমস্ত নিয়ন্ত্রণগুলি ধসে পড়ার পরেও সমস্ত কিছু লোড করছে বলে মনে হচ্ছে।
টিম পোহলমান

1
সঙ্কুচিত হয়ে আসা সমস্যার মুখোমুখি। ধসে পড়লে ব্যবহৃত হয় উদাহরণস্বরূপ মিথস্ক্রিয়া Vis সুতরাং আপনি যদি ভিএম থেকে ডাব্লুপিএফ নিয়ন্ত্রণ অ্যাক্সেস করতে আচরণ ব্যবহার করে কিছু প্রক্সি তৈরি করেন তবে নিয়ন্ত্রণটি দৃশ্যমান (বা লুকানো) সেট না করা পর্যন্ত এটি কাজ করবে না
user2126375
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.