স্ট্যাকপ্যানেলে কীভাবে স্ক্রোলবার যুক্ত করবেন


106

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

উত্তর:


162

এটি একটি রাখা ScrollViewer


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

5
আমার কাছে কোন তথ্য নাই. আপনার প্রশ্নটি দুটি বাক্য দীর্ঘ ছিল যা কোনও সম্ভাব্য সমস্যার প্রত্যাশার জন্য কিছুটা বিশদ detail
জোয়

বুঝেছি, আমি উদ্বোধনী ট্যাগটি ভুল জায়গায় রেখেছিলাম। সহযোগিতার জন্য অসংখ্য ধন্যবাদ.
শামীম হাফিজ

সহজ এবং নিখুঁত উত্তর।
ডেভিড পিয়াও

94

স্ট্যাকপ্যানেলটি স্ক্রোলিং মেকানিজমে নির্মিত হয়নি তবে আপনি সর্বদা স্ট্রোকপ্যানেলটিকে একটি স্ক্রোলভিউয়ারে মোড়ানো করতে পারেন

<ScrollViewer VerticalScrollBarVisibility="Auto">
  <StackPanel ... />
</ScrollViewer>

3
ঠিক আছে, StackPanelবাস্তবায়ন করে IScrollInfoএবং বেশ কয়েকটি স্ক্রোলিং-সম্পর্কিত পদ্ধতি সরবরাহ করে। আপনি কি নিশ্চিত যে এটিতে কোনও ধরণের "বিল্ট ইন" স্ক্রোলিং প্রক্রিয়া নেই?
বা ম্যাপার

4
থেকে msdn.microsoft.com/en-us/library/... ... "এই সম্পত্তি আপনার কোড ব্যবহারের জন্য দেয়ার উদ্দেশ্যে করা হচ্ছে না। এটা প্রকাশ্যে উন্মুক্ত হয় একটি ইন্টারফেস চুক্তি (IScrollInfo) পূর্ণ করা। এই সম্পত্তি সেটিং কোনো প্রভাব নেই। তাহলে আপনার যৌক্তিক স্ক্রোলিংয়ের পরিবর্তে শারীরিক স্ক্রোলিং প্রয়োজন, একটি স্ক্রোলভিউয়ারের স্ট্যাকপ্যানেলটি মোড়ানো এবং এর ক্যানকন্টেন্টস্রোকল সম্পত্তিটিকে মিথ্যা হিসাবে সেট করুন। "
স্কিনার

11

এটি এর মতো কাজ করে:

<ScrollViewer VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Disabled" Width="340" HorizontalAlignment="Left" Margin="12,0,0,0">
        <StackPanel Name="stackPanel1" Width="311">

        </StackPanel>
</ScrollViewer>

TextBox tb = new TextBox();
tb.TextChanged += new TextChangedEventHandler(TextBox_TextChanged);
stackPanel1.Children.Add(tb);

0

অনুভূমিকভাবে ওরিয়েন্টেড স্ট্যাকপ্যানেলের জন্য, উভয় স্পষ্টতই স্ক্রোলবারের দৃশ্যমানতা অনুভূমিক স্ক্রোলবারটি পাওয়ার জন্য আমার পক্ষে কাজ করেছিল।

    <ScrollViewer VerticalScrollBarVisibility="Hidden" HorizontalScrollBarVisibility="Auto" >
        <StackPanel Orientation="Horizontal" />
    </ScrollViewer>

1
পূর্ববর্তী উত্তরগুলির পুনরাবৃত্তি।
vapcguy

-4

যদি আপনি বোঝাতে চান, আপনি আপনার স্ট্যাকপ্যানেলে একাধিক আইটেমের মাধ্যমে স্ক্রোল করতে চান, এটির চারপাশে একটি গ্রিড লাগানোর চেষ্টা করুন। সংজ্ঞা অনুসারে, একটি স্ট্যাকপ্যানেলের অসীম দৈর্ঘ্য রয়েছে।

সুতরাং এর মতো কিছু চেষ্টা করুন:

   <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
        <StackPanel Width="311">
              <TextBlock Text="{Binding A}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}" FontStretch="Condensed" FontSize="28" />
              <TextBlock Text="{Binding B}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
        </StackPanel>
    </Grid>

এমনকি আপনি কোনও স্ক্রোলভিউয়ার দিয়ে এই কাজটি করতে পারেন


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