کنترل StackPanel :

این کنترل، عناصر داخل خودش را که در خاصیت Children این کنترل قرار گرفته اند را بر اساس جهتی که شما مشخص می کنید ( افقی یا عمودی) به صورت پشته ای مرتب می کند.

نحوه تعریف StackPanel به صورت زیر می باشد:



<StackPanel>
<!-- Some Controls Goes Here-->
</StackPanel>




به عنوان مثال کد زیر، سه کنترل TextBox و یک کنترل Button بر روی StackPanel قرار می دهد.




<StackPanel>
<TextBox Margin="3" Name="txtNum1"></TextBox>
<TextBox Margin="3" Name="txtNum2"></TextBox>
<Button Margin="3" Name="btnSum" Click="btnSum_Click">Get Sum</Button>
<TextBox Margin="3" Name="txtResult"></TextBox>

</StackPanel>




شکل حاصل از دستورات فوق، مشابه زیر خواهد بود:








همانطور که اشاره شد، کنترل StackPanel قابلیت چیدن عناصر را به صورتی افقی نیز دارا می باشد. با به کار گیری خاصیت Orientation از این کنترل می توانید، نحوه قرار گیری عناصر را مشخص سازید.
این حاصیت دارای دو مقدار Horizontal و Vertical می باشد. که به ترتیب برای تراز کردن عناصر به صورت افقی و عمودی بر روی StackPanel به کار می رود.
به عنوان مثال در کدزیر، چهار دکمه به صورت افقی قرار گرفته اند :




<StackPanel Margin="5" Orientation="Horizontal" Button.Click="ButtonClick" >
<Button>First Button</Button>
<Button>Second Button</Button>
<Button>Third Button</Button>
<Button>fourth Button</Button>
</StackPanel>




در این کد، خاصیت Orientation در تگ آغازین کنرل StackPanel بر روی Horizontal قرار گرفته است






نکته :
مقدار پیش فرض خاصیت Orientation برابر با Vertical می باشد. در واقع اگر خاسیت Orientation را برای StackPanel تنظیم نکنید، عناصر به صورت پشته عمودی قرار خواهد گرفت

هر کنترلی علاوه بر خواص مخصوصی به خودش دارای خواصی می باشد که تقریبا بین همه کنترل ها مشترک هستند. در واقع خواصی در WPF وجود دارد که اکثر کنترل های WPF ، ان خواص را شامل می شوند. این خواص در هر کنترلی عملکردی مشابه خواهد داشت. در بخش بعدی به تعدادی از این خواص اشاره خواهیم کرد.