نمایش نتایج 1 تا 5 از 5

نام تاپیک: فرق itemscontrol و ListBox و ListView و DataGrid

  1. #1

    فرق itemscontrol و ListBox و ListView و DataGrid

    سلام، من تو نت مثال هایی از هر کدوم از این موارد دیدم، ولی حقیقتا هنوز هم فرقشونو نفهمیدم، امکانش هس یکی فرق این موارد رو برام بگه؟

  2. #2

    نقل قول: فرق itemscontrol و ListBox و ListView و DataGrid

    سلام
    تقریبا بجز DataGrid ، بین بقیه ، تفاوتی وجود نداره .
    مثل این میمونه که بگم تفاوت Control با Button چیه؟
    اینجا ، بحث تفاوت نیست . بلکه خود شیِ Button ، شی ای از Control هم محسوب میشه .


    1) itemscontrol ها ، کنترل هایی را شامل میشه که میتونن شامل چندین آیتم (فرضا کنید چندین محتوا) بشن .
    مثل ComboBox و ListBox و ListView و DataGrid و TabControl و TreeView و ToolBar و Menu و ContextMenu و MenuItem و بسیاری از کنترل های دیگه .
    یعنی اون کنترل های ListBox و ListView و DataGrid هم از نوع itemscontrol محسوب میشن (قضیه ی شی گرایی) .

    2) ListBox که دیگه معروف ترین نوعِ itemscontrol هست (که لیستی از آیتم ها را میشه توش قرار داد) .

    3) ListView ، نوعی ListBox هست که توسط پروپرتیِ View اش میشه ظاهر کنترل را بصورت Grid نشون داد (بیشتر ، برای نشون دادن بصورت Grid مناسب هست و برای ویرایش کردن اطلاعات ، کمتر ازش استفاده میشه) . شکل زیر ، یک ListView هست :



    4) DataGrid هم که نوعی itemscontrol هست ، مناسب ترین کنترل برای زمانی هست که اطلاعات تون را بخواین بصورت Grid نمایش بدین و همچنین بخواین اطلاعاتش را ویرایش و نمایش را سفارشی کنید .

    در واقع بین کنترل هایی که مطرح کردید ، اگه تفاوتی باشه ، تفاوت بین کنترل DataGrid و ListView هست که مهم ترین تفاوت شون در بالا اشاره شد و بصورت کامل میتونین از لینک زیر ببینید :

    https://stackoverflow.com/questions/...atagrid-in-wpf

    و

    https://stackoverflow.com/questions/...agrid/21255674

  3. #3

    نقل قول: فرق itemscontrol و ListBox و ListView و DataGrid

    ممنون، 2 تا سوال اساسی :
    تو مورد 4 گفتید که "اطلاعاتش را ویرایش و نمایش را سفارشی کنید" و همچنین گفتید "DataGrid هم که نوعی itemscontrol هست"
    من itemscontrol زیر رو ایجاد کردم، الان برا تغییر هر سطر ( رنگ background اش ) مجبورم DataSource جدیدی بهش بدم هربار؛ الان اگه از DataGrid استفاده کنم :
    Untitled.png
    1) میتونم همچین چیزی با DataGrid طراحی کنم؟ قابلیتش هستش؟
    2) با DataGrid میتونم مثل یه لیست/آرایه، به هر ردیف دسترسی داشته باشم و اطلاعاتشو بخونم و یا تغییر بدم؟ ( مثلا تو کدنویسی C#‎‎‎‎ بگم رنگ زمینه ردیف X رو تغییر بده؛ یا متغییر Name که تو کلاس Model بهش به عنوان DataSource دادم رو بخونم ازش )

    توجه : این دو موردی که در بالا ذکر کردم، من هرکاری کردم با itemscontrol نتونستم به جواب برسم، بنظرم این قابلیت ها رو ندارن، درسته؟
    آخرین ویرایش به وسیله md3848 : چهارشنبه 10 دی 1399 در 21:21 عصر

  4. #4

    نقل قول: فرق itemscontrol و ListBox و ListView و DataGrid

    نقل قول نوشته شده توسط md3848 مشاهده تاپیک
    ممنون، 2 تا سوال اساسی :
    تو مورد 4 گفتید که "اطلاعاتش را ویرایش و نمایش را سفارشی کنید" و همچنین گفتید "DataGrid هم که نوعی itemscontrol هست"
    من itemscontrol زیر رو ایجاد کردم، الان برا تغییر هر سطر ( رنگ background اش ) مجبورم DataSource جدیدی بهش بدم هربار؛ الان اگه از DataGrid استفاده کنم :
    1) میتونم همچین چیزی با DataGrid طراحی کنم؟ قابلیتش هستش؟
    2) با DataGrid میتونم مثل یه لیست/آرایه، به هر ردیف دسترسی داشته باشم و اطلاعاتشو بخونم و یا تغییر بدم؟ ( مثلا تو کدنویسی C#‎‎ بگم رنگ زمینه ردیف X رو تغییر بده؛ یا متغییر Name که تو کلاس Model بهش به عنوان DataSource دادم رو بخونم ازش )

    توجه : این دو موردی که در بالا ذکر کردم، من هرکاری کردم با itemscontrol نتونستم به جواب برسم، بنظرم این قابلیت ها رو ندارن، درسته؟
    سلامی مجدد
    1) با پروپرتیِ DataGrid.RowStyle میتونید این کار را انجام بدین :

    https://docs.microsoft.com/en-us/dot...aGrid_RowStyle

    2) قطعا باید بشه (البته من با کنترل DataGrid کار نکردم) . هم میتونید بایندینگِ انجام بدین تا با تغییرِ یک مقداری در منبع تون ، اطلاعات DataGrid هم تغییر کنه (مثلا بایندینگ به DataTable) :

    https://social.msdn.microsoft.com/Fo...grid?forum=wpf

    تغییر رنگ زمینه ی ردیف خاص ، همون مثل قضیه ی شماره ی 1 در خط بالا هست .

  5. #5

    نقل قول: فرق itemscontrol و ListBox و ListView و DataGrid

    عذر میخوام، نمیدونم چرا تصویر رو فراموش کردم پیوست کنم به پست، الان پیوست کردم به پست قبلی
    ----
    تو itemcontrol برا بحث خوندن نوشتن آیتم ( ردیف، رکورد...) هاش، از کد زیر استفاده کردم و نتیجه گرفتم؛ حال با توجه به این که نیازی ندارم داده ها توسط کاربر تغییر داده بشه، پس دلیلی هستش که itemcontrol رو ول کنم و برم از datagrid استفاده کنم؟ ( با توجه به عکس پست قبلیم، چیزی که طراحی کردم/کد زدم )
    // Read
    MessageBox.Show((icQuranTarjome.Items[1] as Model).Tarjome);
    // Edit
    (icQuranTarjome.Items[1] as Model).Tarjome = "";

    ------
    اما یه سوال اساسی، کلا کل داده ها رو یکجا بدیم به datagrid/itemcontrol بهتره یا صفحه صفحه ( که میشه حدودا 10 آیه 10 آیه، با فرض این که هر صفحه حاوی 10 آیه/رکورد/ردیف هستش )، یا این که این موضوع اصلا اهمیت آنچنانی نداره و...
    آخرین ویرایش به وسیله md3848 : پنج شنبه 11 دی 1399 در 03:14 صبح

تاپیک های مشابه

  1. فرق بین listbox با listview ؟
    نوشته شده توسط نیما حتمی در بخش C#‎‎
    پاسخ: 2
    آخرین پست: چهارشنبه 12 اردیبهشت 1397, 11:27 صبح
  2. سوال: ساخت listbox سفارشی شبیه listview اندروید
    نوشته شده توسط mz6488 در بخش C#‎‎
    پاسخ: 3
    آخرین پست: پنج شنبه 11 آبان 1396, 22:59 عصر
  3. پاسخ: 8
    آخرین پست: چهارشنبه 24 آذر 1389, 17:12 عصر
  4. نحوه تغییر فونت در LISTVIEW یا LISTBOX
    نوشته شده توسط m-taheri در بخش C#‎‎
    پاسخ: 5
    آخرین پست: سه شنبه 31 شهریور 1388, 00:45 صبح
  5. ارتباط بین ListBox و DataGrid
    نوشته شده توسط ***UNIQUE*** در بخش C#‎‎
    پاسخ: 8
    آخرین پست: چهارشنبه 09 شهریور 1384, 13:35 عصر

قوانین ایجاد تاپیک در تالار

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