کنترل ScrollViewer در WPF
کنترل ScrollViewer یک ناحیه قابل Scroll شدن فراهم می کند که شامل سایر کنترل ها است. در تصویر زیر می توانید تصویر مربوط به سلسله مراتب ارث بری این کنترل را مشاهده کنید.
خاصیت های پرکاربرد
در جدول زیر می توانید خاصت های پر استفاده مربوط به کنترل ScrollViewer را به همراه توضیح مختصری در مورد هر کدام مشاهده کنید.
ردیف | توضیحات |
1 | ComputedHorizontalScrollBarVisibility به منظور گرفتن یا تنظیم مقداری استفاده می شود که مشخص کننده این است که آیا ScrollBar افقی نمایش داده شده است یا خیر. |
2 | HorizontalScrollBarVisibility به منظور گرفتن یا تنظیم مقداری استفاده می شود که مشخص کننده این است که ScrollBar افقی نمایش داده شود یا خیر. |
3 | ScrollableHeight به منظور گرفتن مقداری استفاده می شود که نشان دهنده ارتفاع ناحیه قابل Scroll شدن است. |
4 | ScrollableWidth به منظور گرفتن مقداری استفاده می شود که نشان دهنده عرض ناحیه قابل Scroll شدن است. |
5 | VerticalScrollBarVisibility به منظور گرفتن یا تنظیم مقداری استفاده می شود که مشخص کننده این است که ScrollBar عمودی نمایش داده شود یا خیر. |
متدهای پرکاربرد
در جدول زیر می توانید متدهای پر استفاده مربوط به کنترل ScrollViewer را به همراه توضیح مختصری در مورد هر کدام مشاهده کنید.
ردیف | توضیحات |
1 | GetHorizontalScrollBarVisibility به منظور گرفتن مقدار خاصیت HorizontalScrollBarVisibility استفاده می شود. |
2 | GetIsDeferredScrollingEnabled به منظور گرفتن مقدار خاصیت IsDeferredScrollingEnabled استفاده می شود. |
3 | GetVerticalScrollBarVisibility به منظور گرفتن مقدار خاصیت VerticalScrollBarVisibility استفاده می شود. |
4 | InvalidateScrollInfo زمانی که مقدار خاصیت هایی که توصیف کننده اندازه و موقعیت ناحیه قابل Scroll شدن تغییر کند، این متد فراخوانی می شود. |
5 | ScrollToHorizontalOffset محتوای داخل ScrollViewer را به اندازه Offset افقی مشخص شده، اسکرول می کند. |
6 | ScrollToVerticalOffset محتوای داخل ScrollViewer را به اندازه Offset عمودی مشخص شده، اسکرول می کند. |
7 | SetHorizontalScrollBarVisibility به منظور تنظیم مقدار خاصیت HorizontalScrollBarVisibility استفاده می شود. |
8 | SetIsDeferredScrollingEnabled به منظور تنظیم مقدار خاصیت IsDeferredScrollingEnabled استفاده می شود. |
9 | SetVerticalScrollBarVisibility به منظور تنظیم مقدار خاصیت VerticalScrollBarVisibility استفاده می شود. |
مثال
برای درک بهتر یک پروژه WPF با نام WPFScrollViewerControl ایجاد کرده و آن را به شکل زیر تغییر دهید. محتوای فایل MainWindow.xaml:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | <Window x:Class = "WPFScrollViewerControl.MainWindow" xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d = "http://schemas.microsoft.com/expression/blend/2008" xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local = "clr-namespace:WPFScrollViewerControl" mc:Ignorable = "d" Title = "MainWindow" Height = "420" Width = "604"> <Grid> <StackPanel> <!-- A large TextBlock. --> <TextBlock Width = "300" TextWrapping = "Wrap" Margin = "0,0,0,30" Text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac mi ipsum. Phasellus vel malesuada mauris. Donec pharetra, enim sit amet mattis tincidunt, felis nisi semper lectus, vel porta diam nisi in augue. Pellentesque lacus tortor, aliquam et faucibus id, rhoncus ut justo. Sed id lectus odio, eget pulvinar diam. Suspendisse eleifend ornare libero, in luctus purus aliquet non. Sed interdum, sem vitae rutrum rhoncus, felis ligula ultrices sem, in eleifend eros ante id neque." /> <!-- The same large TextBlock, wrapped in a ScrollViewer. --> <ScrollViewer Height = "200" Width = "200" HorizontalScrollBarVisibility = "Auto" VerticalScrollBarVisibility = "Auto"> <TextBlock Width = "300" TextWrapping = "Wrap" Text = " This license governs use of code marked as sample or example available on this web site without a license agreement, as provided under the section above titled NOTICE SPECIFIC TO SOFTWARE AVAILABLE ON THIS WEB SITE. If you use such code (the software), you accept this license. If you do not accept the license, do not use the software.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac mi ipsum. Phasellus vel malesuada mauris. Donec pharetra, enim sit amet mattis tincidunt, felis nisi semper lectus, vel porta diam nisi in augue. Pellentesque lacus tortor, aliquam et faucibus id, rhoncus ut justo. Sed id lectus odio, eget pulvinar diam. Suspendisse eleifend ornare libero, in luctus purus aliquet non. Sed interdum, sem vitae rutrum rhoncus, felis ligula ultrices sem, in eleifend eros ante id neque." /> </ScrollViewer> </StackPanel> </Grid> </Window> |
زمانی که مثال فوق را کامپایل و اجرا کنید خروجی زیر را تولید خواهد کرد:
هیچ نظری ثبت نشده است