مرجع تخصصی برنامه نویسان

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

کاربر سایت

1372611

عضویت از 1395/04/27

استفاده از user Control در wpf

  • چهارشنبه 18 بهمن 1396
  • 00:58
تشکر میکنم

سلام

من یک user control دارم که داخل اون یه Data Grid وچند تا Button دارم یکی از این Button ها ایجاد پرسنل جدید است که با زدنش یه پنجره ای باز میشه و بعد اینکه یک پرسنل جدید ثبت شد من می خوام وقتی دکمه ی بستن این صفحه زده شد واین صفحه بسته شد وصفحه ی اصلی که دیتا گرید اونجاست و تمام اطلاعات پرسنل ها رو نمایش میده بروزرسانی بشه و پرسنلی که تازه وارد کردم هم در دیتاگرید باشه برای این منظور چیکار باید کنم ممنون میشم کمکم کنید.

پاسخ های این پرسش

تعداد پاسخ ها : 2 پاسخ
کاربر سایت

haditg

عضویت از 1396/10/01

  • چهارشنبه 18 بهمن 1396
  • 14:50

سلام سوال شما کلی است کجا مشکل دارید؟

من در پروژه هام این گونه عمل میکنم:

طراحی دیتابیس-ایجادEntity Fremwork و درنهایت بایند کردن تکس باکس های فرم (همان فرم پرسنل جدید)به دیتابیس و همچنین دیتاگرید به یکی از جدول های دیتابیس بایند هست و از دیتابیس فراخوانی میشود.

حالا مشکل کجا ست؟

کاربر سایت

1372611

عضویت از 1395/04/27

  • چهارشنبه 18 بهمن 1396
  • 17:19

کدهای زیر مال user controlمن هست

   public partial class ucPersonelListxaml : UserControl
    {
        Models.DBMahd oDBMahd = new Models.DBMahd();
        public static DataGrid dataGrid;
        

        public ucPersonelListxaml()
        {
            InitializeComponent();
        }

        View.Menu_Window oMenu_Win =(View.Menu_Window)Application.Current.Windows.OfType<Window>().SingleOrDefault(x => x.IsActive);

        private void btn_AddPersonel_Click(object sender, RoutedEventArgs e)
        {
            View.win_AddPersonel oWin_AddPersonel = new View.win_AddPersonel();
            oWin_AddPersonel.Owner = oMenu_Win;
            oMenu_Win.Opacity = 0.3;
            oWin_AddPersonel.ShowDialog();
        }


        private void UserControl_Loaded(object sender, RoutedEventArgs e)
        {
            Classes.DBList.DataGrid_Fill(dtg_PersonelList);
        }

وباز کدهای پایین هم ما قسمت Xaml یوزر کنترل است که مربوط به data grid می باشد

<DataGrid x:Name="dtg_PersonelList" ItemsSource="{Binding}" FlowDirection="RightToLeft" Background="{x:Null}" 
                      BorderBrush="{x:Null}" Foreground="#FF042263" IsReadOnly="True" RowHeight="30" CanUserAddRows="False"
                      CanUserSortColumns="True" CanUserResizeColumns="False" CanUserResizeRows="False" HorizontalGridLinesBrush="#FFC9C4C4" VerticalGridLinesBrush="#FFBDBCBC"
                      HeadersVisibility="Column" AutoGenerateColumns="False" Style="{DynamicResource DataGridStyle1}" MouseDoubleClick="dtg_PersonelList_MouseDoubleClick_1" >

من یه منوی اصلی دارم که وقتی روی هرکدوم از دکمه هاش کلیک می کنی اطلاعات مربوط به اون قسمت مییاد مثلا دکمه اطلاعات پرسنل می زنی اطلاعات مربوط به کل پرسنل رودریک دیتا گرید مییاره حالا این دیتا گرید همون دیتا گریدی هستش که در user controlتعریفش کردم من حالا می خوام وقتی یک پرسنل جدید اضافه کردم وصفحه ی اونو بستم این دیتاگرید بروزرسانی بشه و اون پرسنل جدید اضافه شده هم دیده بشه

کدهای پایین هم دیتا گریدم رو پر میکنه

   public static bool DataGrid_Fill(DataGrid dg)
        {
            sbyte i = 0;
            Models.DBMahd oDBMahd = new Models.DBMahd();
            try
            {
                var Personel_List = oDBMahd.Personels.OrderBy(current => current.LastName).ToList();
                dg.ItemsSource = null;
                dg.ItemsSource = Personel_List;

            }
            catch (Exception e)
            {

                MessageBox.Show(e.Message.ToString());
            }
            finally
            {
                if (oDBMahd != null)
                {
                    oDBMahd.Dispose();
                    oDBMahd = null;
                }
            }

            if (i > 0) return true;
            else
                return false;

        }

ومن می خواستم باکدهای پایین دیتا گرید رو ابدیتش کنم که جواب نمیده


            ucPersonelListxaml oucPersonelListxaml = new ucPersonelListxaml();
            Classes.DBList.DataGrid_Fill(oucPersonelListxaml.dtg_PersonelList);

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)