PDA

View Full Version : MDI



happy65_sh
دوشنبه 03 اسفند 1388, 11:16 صبح
با سلام
آيا امكاني مثل MDI در WPF وجود داره؟

m0riiii
سه شنبه 04 اسفند 1388, 01:45 صبح
با سلام خدمت شما دوست عزیز و تمام دوستان عزیز دیگر

بله ، این امکام وجود داره . البته نه توی خود پیشفرض WPF که توسط مایکروسافت ارائه شده.

چون طبق سرچ که انجام دادم فهمیدم که مایکروسافت حذف کرده این قابلیتو و دوست هم نداره باشه :لبخند:

خوب بریم سر اصل مطلب

برای اینکه شما بتونید از MDI استفاده کنید باید فایل dll. که ضمیمه کردم رو داشته باشید.


مشاهده نمونه 1 (http://img39.imageshack.us/img39/8374/47907649.jpg)
مشاهده نمونه 2 (http://img30.imageshack.us/img30/2392/vistaa.jpg)

خوب وقتی این فایل رو از منوی Project و گزینه Add Reference به فایل های Reference اضافه کردین باید کد زیر رو کد XAML پنجره اصلی خود اضافه کنید :



xmlns:mdi="clr-namespace:WPF.MDI;assembly=WPF.MDI"
برای ایجاد حالت فرم پدر یه فرم اصلی :


<mdi:MdiContainer></mdi:MdiContainer>
شما میتونید که از theme هم استفاده کنید به صورت اختیاری :


<mdi:MdiContainer Theme="Aero"></mdi:MdiContainer>
برای اضافه کردن فرم فرزند :

<mdi:MdiContainer Theme="Aero">
<mdi:MdiChild />
</mdi:MdiContainer>
تنظیماتی که میتونید از آنها استفاده کنید :






Title (e.g. Title="Window 1")
Icon (e.g. Icon="MyIcon.png")
ShowIcon - Sets whether the icon should be show (e.g. ShowIcon="false" to hide)
MinimizeBox - Sets whether the minimize box should be enabled (e.g. MinimizeBox="false" to disable)
MaximizeBox - Sets whether the maximize box should be enabled (e.g. MaximizeBox="false" to disable)
Resizable - Sets whether the window is resizable (e.g. Resizable="false" to prevent the user from resizing the window)
Default FrameworkElement properties - Background, BorderBrush, Margin, Width, Height etc.


به عنوان مثال :


<mdi:MdiContainer Theme="Aero">
<mdi:MdiChild Title="Window 1" Resizable="False" MinimizeBox="False" Background="DarkGray" />
</mdi:MdiContainerدرون فرم فرزند شما می توانید یک Content سفارشی از نوع یوزر کنترل یا DataGrid و بقیه کنترل های ایجاد کنید .

مثال :


<mdi:MdiContainer Theme="Aero">
<mdi:MdiChild Title="Window 1" Resizable="False" MinimizeBox="False" Background="DarkGray">
<Grid>
<ListBox Margin="12,36,12,12" Name="listBox1" />
<Button Height="23" HorizontalAlignment="Right" Margin="0,7,12,0" Name="button1" VerticalAlignment="Top" Width="75">Button</Button>
<TextBox Height="23" Margin="12,7,93,0" Name="textBox1" VerticalAlignment="Top" />
</Grid>
</mdi:MdiChild>
</mdi:MdiContainer>
موفق باشید.

منبع (http://wpfmdi.codeplex.com/)

رضا عربلو
سه شنبه 04 اسفند 1388, 10:45 صبح
ضمن تشکر از کاربر گرامی moriii توضیحات کامپاننت فوق را در تاپیک معرفی ابزارها و کامپاننت های wpf قرار دادم
http://barnamenevis.org/forum/showpost.php?p=916716&postcount=21

Unknownlive
پنج شنبه 02 اردیبهشت 1389, 17:36 عصر
اگه مایکروسافت دوست نداره داشته باشه پس نباید باشه درسته

farzadfar
یک شنبه 09 تیر 1392, 07:57 صبح
salam ye soal dashtam wpf in emkan ro nazashte aya estefade az all to ye porojhe ke niaze zamane ziadi kar kone moshkeli be vojod nemiare?

farzadfar
چهارشنبه 19 تیر 1392, 11:10 صبح
ححححححححححححححححححححححححح ححححححححححححححححححححححححح ححححححححححححححححححححححححح ححححححححححححححححححححححححح ححححححح