دوستان و علاقمندان به مباحث WPF وقتتون بخیر. با آموزش WPF از وب سایت آموزشی پی وی لرن همراهتون هستیم. بررسی ساختار درختی WPF رو در این بخش، دنبال خواهیم نمود.
در بسیاری از فناوری ها، عناصر و مؤلفه ها به صورت یک ساختار درختی مرتب می شوند تا برنامه نویسان بتوانند به راحتی شیء را کنترل کرده و رفتار یک برنامه را تغییر دهند.
(Windows Presentation Foundation (WPF از ساختار درختی جامع ازاشیاء برخوردار است. در WPF ، دو روش وجود دارد که یک درخت شیء کامل می شود.
به کمک این ساختار های درختی می توانید به راحتی ارتباط بین عناصر UI را ایجاد و شناسایی کنید. به طور عمده ، توسعه دهندگان و طراحان WPF یا برای ایجاد یک برنامه یا طراحی UI برنامه در XAML از زبان رویه ای استفاده می کنند و ساختار درخت شی را به خاطر می آورند.
در برنامه های WPF ، ساختار عناصر UI در XAML نمایانگر ساختار درخت منطقی است. در XAML ، عناصر اصلی UI توسط توسعه دهنده اعلام می شود. درخت منطقی در WPF موارد زیر را تعریف می کند.
بیایید به مثال زیر توجه کنیم که در آن یک button و list box ایجاد می شود.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <Window x:Class = "WPFElementsTree.MainWindow" xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" Title = "MainWindow" Height = "350" Width = "604"> <StackPanel> <Button x:Name = "button" Height = "30" Width = "70" Content = "OK" Margin = "20" /> <ListBox x:Name = "listBox" Height = "100" Width = "100" Margin = "20"> <ListBoxItem Content = "Item 1" /> <ListBoxItem Content = "Item 2" /> <ListBoxItem Content = "Item 3" /> </ListBox> </StackPanel> </Window> |
اگر به کد XAML دقت کنید ، یک ساختار درخت را مشاهده خواهید کرد ، یعنی گره ریشه Window است و در داخل گره ریشه ، فقط یک کودک وجود دارد ، یعنی StackPanel. اما StackPanel شامل دو عنصر کودک ، button و list box است. list box دارای سه مورد جعبه لیست کودک است.
در WPF ، مفهوم درخت بصری، ساختار اشیاء بصری را توصیف می کند ، همانطور که توسط Visual Base Class نشان داده شده است. این تمام عناصر UI را که به صفحه خروجی ارائه می شوند ، مشخص می کند.
وقتی یک برنامه نویس می خواهد الگوی خاصی را برای کنترل خاص ایجاد کند ، در واقع در حال ارائه درخت بصری آن کنترل است. همچنین درخت بصری برای کسانی که به دلایل عملکرد و بهینه سازی می توانند کنترل سطح پایین تری ترسیم کنند بسیار مفید است.
در برنامه های WPF ، از درخت بصری استفاده می شود:
رویدادهای روت شده بیشتر در طول درخت بصری حرکت می کنند ، نه درخت منطقی.
برای دیدن درخت بصری برنامه ساده فوق که حاوی یک دکمه و جعبه لیست است ، اجازه دهید کد XAML را کامپایل و اجرا کنیم. بنابراین پنجره زیر را مشاهده خواهید کرد.
هنگامی که برنامه در حال اجرا است ، می توانید درخت بصری برنامه در حال اجرا را در پنجره Live Visual Tree مشاهده کنید که سلسله مراتب کامل این برنامه را نشان می دهد ، همانطور که در زیر مشاهده می کنید.
درخت بصری به طور معمول یک سوپرست از درخت منطقی است. در اینجا می بینید که تمام عناصر منطقی نیز در درخت بصری وجود دارند. بنابراین این دو درخت واقعاً دو نمای متفاوت از همان مجموعه اشیاء هستند که UI را تشکیل می دهند.
اگر تمرکزتان بر ارائه است، درخت بصری مورد توجه شما خواهد بود. به عنوان مثال ، اگر می خواهید ظاهر هر عنصر UI را سفارشی کنید ، باید از درخت بصری استفاده کنید.
ساختار درخت بصری و ساختار درخت منطقی را در این بخش از آموزش wpf بررسی نمودیم. در بخش بعدی به بررسی Dependency Properties می پردازیم.
مسیح الله
عالی بود ممنون از زحمات شما و موفق باشید