قبل از خواندن این مقاله، خواندن قسمت های قبلی مجموعه را به شدت توصیه می کنم.
- آموزش برنامه نویسی ویندوز جهانی از طریق C++ مدرن
- آموزش برنامه نویسی ویندوز جهانی از طریق C++ مدرن (کنترل دکمه)
- آموزش برنامه نویسی ویندوز جهانی از طریق C++ مدرن (Stackpanel)
- آموزش برنامه نویسی ویندوز جهانی از طریق C++ مدرن (CheckBox)
- آموزش برنامه نویسی جهانی ویندوز از طریق C++ مدرن (رادیو دکمه)
- آموزش برنامه نویسی جهانی ویندوز از طریق C++ مدرن (Combobox)
- آموزش برنامه نویسی ویندوز جهانی از طریق C++ مدرن (Border)
- آموزش برنامه نویسی ویندوز جهانی از طریق C++ مدرن (CommandBar)
- آموزش برنامه نویسی ویندوز جهانی از طریق C++ مدرن (کنترل SplitView)
- آموزش برنامه نویسی ویندوز جهانی از طریق C++ مدرن (AutoSuggestBox)
- آموزش برنامه نویسی جهانی ویندوز از طریق C++ مدرن (ContentDialog)
- آموزش برنامه نویسی ویندوز جهانی از طریق C++ مدرن (کنترل شبکه)
در این مقاله قصد داریم با کنترل RelativePanel در مدرن C++/WinRT آشنا شویم. کنترل پنل های UWP به دو نوع زیر تقسیم می شوند:
- الگوی خطی یا پانل.
- الگو یا پانل غیر لاینر.
الگوی خطی
در یک الگوی خطی، تمام کنترل ها باید افقی یا عمودی باشند.
به عنوان مثال، یک StackPanel .
الگوی غیر خطی در یک الگوی غیر خطی، همه کنترلها به هر ترتیبی با سایر کنترلها، مانند بالا یا پایین، راست یا چپ و غیره، تراز میشوند.
حال قصد دارم نحوه پیاده سازی الگوی Non-Linear را توضیح دهم. کنترل RelativePanel الگوی غیر خطی نیز نامیده می شود.
پانل نسبی
هر کنترل با هر رابطه ای با سایر کنترل ها رابطه دارد (اما نه یک وابستگی دایره ای).
ویژگی های ReleativePanel
فرزندان
تمام آیتمهای کنترل باید به ویژگی فرزندان اضافه شوند. "Children" یک محفظه UIElementCollection است و به طور پیشفرض، همه کنترلها به ترتیب شاخص صفر اضافه میشوند. "Append properties" برای افزودن Controls به ظرف استفاده می شود.
- RelativePanel RPanel;
- RPanel.Children().Append(txtTop);
- RPanel.Children().Append(txtBottom);
- RPanel.Children().Append(txtLeft);
- RPanel.Children().Append(txtRight);
- RPanel.Children().Append(txtHorCenter);
- RPanel.Children().Append(txtVertical);
- RPanel.Children().Append(txtRightOf);
- RPanel.Children().Append(txtLeftOf);
- RPanel.Children().Append(txtAbove);
- RPanel.Children().Append(txtBelow);
- RPanel.Children().Append(txtHeader);
موقعیت ویژگی ها در داخل کنترل پنل
![](http://pezhvak24.ir/dl/10kcor/cscd/article/learn-universal-windows-programming-via-modern-cpp-relativepanel/Images/Panel1.png)
- جعبه کامل یک پنل نسبی است.
- داخل جعبه ها کنترل های کودک وجود دارد.
- فلش به عنوان تراز و موقعیت کنترل ها مشخص می شود.
یک RelativePanel یک کنترل والدین است، همه کنترلهای داخلی کنترلهای فرزند هستند.
به طور کلی دو نوع رابطه زیر وجود دارد:
- والد به فرزند.
- کودک به فرزند.
Parent -> Child: تمام ویژگی های پانل از نوع پدر هستند.
کنترلهای مربوط به والد را تنظیم کنید، نام کنترل را ارسال کنید و به عنوان درست تنظیم کنید. به کنترل والدین متصل است.