Loading…

جزیره برنامه نویسی و توسعه نرم افزار

امتیازات این مطلب
سوال: معادل کد در WPF
سلام دوستان من یه کد نوشتم که یه فرم رو درون یه تب کنترل نمایش میده
که خود تب کنترل درون MainForm قرار داره

Form sarfasl = new Form();
            sarfasl.TopLevel = false;
            sarfasl.WindowState = FormWindowState.Maximized;
            sarfasl.FormBorderStyle = FormBorderStyle.None;
            TabPage tb = new TabPage("سرفصل");
            tb.Controls.Add(sarfasl);
            tabControl1.TabPages.Add(tb);
            sarfasl.Show();
            tabControl1.SelectTab(tb);

خیلی هم عالی جواب میده
حالا من کد رو برای WPF میخوام
ولی متاسفانه نتونستم درون WPF بنویسمش
کسی از دوستان میدونه معادل این کد درون WPF چی میشه؟
سلام
این سوال منم هست
منم میخوام درون یک برنامه ای که با WPF دارم مینویسم به جای نمایش فرم هام و باز شدن تعداد زیادی فرم،
فرم های من درون تب کنترل باز شه
استاد احمدی و استاد عادلی منتظر جواب و راهکار شمائیم
نمیدونم میشه یا نه ولی اگه یک window اصلی داشته باشیم و بقیه فرم ها رو به جای استفاده از window از page استفاده کنیم میشه راحت درون تب نشون داد؟
اصلا page چی هست؟
مثل window میشه ازش استفاده کرد؟

این پست توسط هیچ کس به عنوان جواب انتخاب شده است


ITPRO باشید و فرهنگ ITPRO را به دیگران نیز معرفی کنید
سلام.
خدمت شما دوستان عزیز.
<Window x:Class="TabSample.Misc_controls.MulltiTabITPRO"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="TabSample" Height="200" Width="250">
    <Grid>
        <TabControl>
            <TabItem Header="Home">
                <Label Content="Show content if u want to show anything for users" />
            </TabItem>
            <TabItem Header="About" />
            <TabItem Header="Contact us" />
        </TabControl>
    </Grid>
</Window>

این پست توسط هیچ کس به عنوان جواب انتخاب شده است


ITPRO باشید و فرهنگ ITPRO را به دیگران نیز معرفی کنید
سلام
این تیکه کدی که شما گذاشتید درسته
اما در زمان طراحی
من در code behind میخوام درون رویداد یک دکمه یه تیکه کد مثل نمونه بالایی که گذاشتم رو بنویسم تا برام یه پنجره یا فرم رو درون تب باز کنه
این کدی که شما گذاشتید در زمان طراحی به کار میاد و وقتی برنامه باز بشه همون اول کار تب ایجاد میشه
من نمیخوام تبی اول کار باشه
میخوام به محض کلیک روی یه دکمه یک کد اجرا بشه که پنجره ای که از قبل ساختم رو درون تب کنترلی که درون پنجره اصلی برنامه قرار داره باز کنه
حالا دوست عزیزمون جناب معین اشاره به page کردند
نمیدونم میشه با page اینکارو کرد یا نه
جناب عادلی و جناب احمدی ممنون میشم نظرشون رو بگن

این پست توسط هیچ کس به عنوان جواب انتخاب شده است


آنتونی جی. دی آنجلو: اشتیاق‌تان برای یادگیری را توسعه دهید، تا هرگز در راه رشد و تعالی متوقف نشوید.

ITPRO باشید و فرهنگ ITPRO را به دیگران نیز معرفی کنید
من یه ریبون منو دارم
برای هرکدوم از دکمه های ریبون منو یه فرم ساختم
ولی برای کاربری که قراره با سیستم کار کنه خیلی جالب نیست که همش فرم براش نمایش داده بشه
منم میخوام وقتی روی یک دکمه از ریبون منو کلیک کرد، فرم مربوط به همون دکمه درون پنجره اصلی برنامه نمایش داده بشه
یعنی کاربر فقط براش یه پنجره اصلی باز باشه، بقیه پنجره ها درون پنجره اصلی به صورت تب نمایش داده بشن

این پست توسط هیچ کس به عنوان جواب انتخاب شده است


ITPRO باشید و فرهنگ ITPRO را به دیگران نیز معرفی کنید
سلام به شما دوستان عزیز
ساختار wpf کمی با windows form فرق داره. شما باید توی هر تبی که باز می کنید از یک گرید یا Canvas یا کنترل های نگه دارنده ای مانند اینها استفاده کنید. یعنی شما به جای این که sarfasl رو از نوع form ثبت کنید اون رو از نوع Grid بسازید و کنترل هایی که لازم دارید رو روی اون قرار بدید. بعد توی window مربوط به Wpf یک tabcontrol قرار بدید و با استفاده از کد زیر یک tab جدید بسازید و گریدتون رو توی اون قرار بدید
   var  grid = new MyGrid();
  var newItem = new TabItem {Header = "new tab"};
newItem.Content = grid;
  tabControl.Items.Add(newItem);
            tabControl.SelectedItem = newItem;

این پست توسط هیچ کس به عنوان جواب انتخاب شده است


سرنوشت ما با افکارمان تغییر می کند؛ اگر افکارمان همیشه مطابق با خواسته هایمان باشند، همان چیزی می شویم که آرزو داریم و همان کاری را می کنیم که می خواهیم

ITPRO باشید و فرهنگ ITPRO را به دیگران نیز معرفی کنید
ممنونم
شما درست میگید من اومدم به شکل زیر عمل کردم

Window1 w = new Window1();
w.WindowStyle = WindowStyle.None;
var gr = new Grid();
gr.Children.Add(w);
var newItem = new TabItem {Header = "new tab"};
newItem.Content = gr;
tabControl.Items.Add(newItem);

ولی موقع اجرا خطا میده که پنجره ریشه نمیتونه شامل پنجره فرزند باشه
الان دقیقا متن خطا یادم نیست ولی یه همچین چیزی میگه
خواستم بدونم راه حل این چیه
من چطور بیام w رو از نوع grid بسازم که بتونم پنجره مورد نظر رو نمایش بدم؟
میشه گفت
newItem.Content = w.Content;
یا اینکه از page استفاده کرد به جای window و پیج رو به شیوه بالا در تب نمایش داد؟
طریقه کارکردن با page متفاوت از window است؟
ممنونم

این پست توسط هیچ کس به عنوان جواب انتخاب شده است


آنتونی جی. دی آنجلو: اشتیاق‌تان برای یادگیری را توسعه دهید، تا هرگز در راه رشد و تعالی متوقف نشوید.

ITPRO باشید و فرهنگ ITPRO را به دیگران نیز معرفی کنید
مشکل کد شما اینه که شما نمی تونید از window به شکل کنترل فرزند استفاده کنید و window نمی تواند فرزند کنترل دیگری باشد. راه حل اینه که شما کنترل هاتون رو که تکست باکس و گرید و دکمه هستن رو روی گرید بچینید.

این پست توسط 1 نفر به عنوان جواب انتخاب شده است


سرنوشت ما با افکارمان تغییر می کند؛ اگر افکارمان همیشه مطابق با خواسته هایمان باشند، همان چیزی می شویم که آرزو داریم و همان کاری را می کنیم که می خواهیم

ITPRO باشید و فرهنگ ITPRO را به دیگران نیز معرفی کنید
برای ارسال پست وارد شوید.