PDA

View Full Version : دابل کلیک ماوس فقط روی سطر DataGrid



MRasoul
سه شنبه 12 اسفند 1393, 09:34 صبح
سلام
من یه DataGrid دارم و میخوام وقتی روی یه سطر یا یکی از خونه های سطر مورد نظر دابل کلیک میکنم، یه کدهایی مثلا خواندن سلول دوم اون سطر انجام بشه( کد مورد نظر که چه میکنه مهم نیست)
مشکل اینجاست که وقتی رویداد MouseDoubleClick رو انتخاب می کنم، این رویداد نه فقط روی سطر بلکه همه جا، مثلا روی ScrollBar هم عمل میکنه
من فقط میخوام روی سطر عمل کنه و حتما هم دابل کلیک باشه، چجوری؟؟؟؟؟؟؟؟؟

SabaSabouhi
سه شنبه 12 اسفند 1393, 12:07 عصر
سلام
من یه DataGrid دارم و میخوام وقتی روی یه سطر یا یکی از خونه های سطر مورد نظر دابل کلیک میکنم، یه کدهایی مثلا خواندن سلول دوم اون سطر انجام بشه( کد مورد نظر که چه میکنه مهم نیست)
مشکل اینجاست که وقتی رویداد MouseDoubleClick رو انتخاب می کنم، این رویداد نه فقط روی سطر بلکه همه جا، مثلا روی ScrollBar هم عمل میکنه
من فقط میخوام روی سطر عمل کنه و حتما هم دابل کلیک باشه، چجوری؟؟؟؟؟؟؟؟؟

سلام
کار راحتی هست. از HitTest استفاده کن.
https://msdn.microsoft.com/en-us/library/et7ts448(v=vs.110).aspx

صبا صبوحی

golbafan
سه شنبه 12 اسفند 1393, 12:15 عصر
از رویداد OnCellDblClick هم میشه استفاده کرد.

MRasoul
سه شنبه 12 اسفند 1393, 13:25 عصر
از رویداد OnCellDblClick هم میشه استفاده کرد.

این گزینه رو توی WPF ندیدم

MRasoul
سه شنبه 12 اسفند 1393, 20:26 عصر
سلام
کار راحتی هست. از HitTest استفاده کن.
https://msdn.microsoft.com/en-us/library/et7ts448(v=vs.110).aspx

صبا صبوحی

ممنون
نگاه کردم،datagrid توی wpf گزینه ی HitTest نداره!!!!!!
یا جور دیگه باید بیارمش؟
این لینک هم مال
System.Windows.Forms.DataGrid این نوع DataGrid هست در صورتی که دیتاگریدهای WPF به شکل زیر هستن
System.Windows.Controls.DataGrid

SabaSabouhi
چهارشنبه 13 اسفند 1393, 09:44 صبح
ممنون
نگاه کردم،datagrid توی wpf گزینه ی HitTest نداره!!!!!!
یا جور دیگه باید بیارمش؟
این لینک هم مال
System.Windows.Forms.DataGrid این نوع DataGrid هست در صورتی که دیتاگریدهای WPF به شکل زیر هستن
System.Windows.Controls.DataGrid

سلام
گویا حق با شماس، من اشتباه لینک رو فرستادم. اما مطمئن باش که وجود داره چون مربوط هست که شی Visual که پدر Control هست.
من از DataGrid استفاده نمی‌کنم. چون کلا از محصولات DevExpress استفاده می‌کنم و اونجا هر GridControl یک GridViewBase هم
داره که بجای خود GridControl باید این HitTest رو برای View مربوط به اون استفاده کنیم. احتمالاً تو DataGrid هم یه View باید داشته
باشی. ببین شاید اون HitTest رو داشته باشه.

صبا صبوحی