ورود

View Full Version : سوال: انتقال اطلاعات بین دو پنجره



Ali.hitter
سه شنبه 16 اردیبهشت 1393, 21:26 عصر
سلام دوستان؛
کسی میدونه برای انقال اطلاعات بین دو پنجره باید چیکار کرد؟
مثلا من میخوام در window1 در یک listbox ، ایتم های یک listbox در MainWindow رو قرار بدم
کسی میدونه چجوری میشه اینکارو کرد؟

r4hgozar
چهارشنبه 17 اردیبهشت 1393, 07:39 صبح
سلام.
یکی این

Form1.form.button1.Text = "OK";



یکی دیگه هم این صفحه رو بخون
http://barnamenevisan.org/Question/390/

Ali.hitter
چهارشنبه 17 اردیبهشت 1393, 20:57 عصر
دوست عزیز اینجا تالار wpf هست!

rg_BlackRose
پنج شنبه 18 اردیبهشت 1393, 08:31 صبح
سلام

این کد کمکتون میکنه (NetFrameWork 4 به بالا کار میکنه)

var MWindow = App.Current.Windows.Cast<System.Windows.Window>().FirstOrDefault(window => window is MainWindow) as MainWindow;

if (MWindow != null)
{
MWindow.list1.ItemsSource = list2.Items;
}

Ali.hitter
پنج شنبه 18 اردیبهشت 1393, 12:29 عصر
خیلی ممنون دیگه وقعا نمیدونستم چیکار کنم مرسی

elec60
یک شنبه 18 خرداد 1393, 11:26 صبح
سلام دوستان؛
کسی میدونه برای انقال اطلاعات بین دو پنجره باید چیکار کرد؟
مثلا من میخوام در window1 در یک listbox ، ایتم های یک listbox در MainWindow رو قرار بدم
کسی میدونه چجوری میشه اینکارو کرد؟


ميتوني توي سازنده Window جديد يه ريفرنس از MainWindow رو پاس بدي تا بتوني به آبجت MainWindow دسترسي داشته باشي.

سازنده Window جديد بايد به اين شكل باشه.

(public Window1(MainWindow objMain

و بايد يه فيلد تو كلاس Window1 از نوع MainWindow تعريف كني كه تو سازنده objMain رو بريزي تو فيلدت.


روش ديگه اي هم هست كه ميتوني Access Modifier مثلا ListBox رو Static كني كه با اسم Type قابل دسترسي باشه.

hashem.heidari
چهارشنبه 19 شهریور 1393, 22:30 عصر
با سلام
راه های زیادی برای اینکار وجود داره.
ی راه ساده اینکه خود listbox درون mainwindow رو به عنوان property به پنجره window1 پاس بدین.
ی راه بهتر اینکه با event ها این کار رو انجام بدین. اگه نیاز دارین تا کدشو بذارم
ولی cast کردن mainwindow جالب نیست

OmMiD_MtWo
پنج شنبه 27 شهریور 1393, 19:01 عصر
ميتوني توي سازنده Window جديد يه ريفرنس از MainWindow رو پاس بدي تا بتوني به آبجت MainWindow دسترسي داشته باشي.

سازنده Window جديد بايد به اين شكل باشه.

(public Window1(MainWindow objMain

و بايد يه فيلد تو كلاس Window1 از نوع MainWindow تعريف كني كه تو سازنده objMain رو بريزي تو فيلدت.


روش ديگه اي هم هست كه ميتوني Access Modifier مثلا ListBox رو Static كني كه با اسم Type قابل دسترسي باشه.

آقا دستت شما واقعا درد نکنه. خیلی روش خوبی بود. استفاده کردم، چون من هم همین الان به دنبال این مشکل تو تاپیک میگشتم :لبخندساده: