سؤال

لذلك جعلت سيطرة كاروسيل الخاصة بي في WPF. لقد تعثرت على خطأ وكنت أتساءل عما إذا كان أي شخص يعرف كيف يمكنني إصلاح ذلك مثل مكالمة طريقة أو سلسلة من الأساليب المكالمات أو بعض العمل. فيما يلي شاشة طباعة من كاروسيل:

صورة كاروسيل http://img4.imageshack.us/img4/9599/carousele.jpg.

كما ترون بوضوح مع هذه الصورة، فإن مؤشر الماوس هو أكثر من 16 مكتوب عليه. لكن الزر الذي يحتوي على 18 مكتوب عليه هو اللون الأزرق كما لو كان الماوس فوق هذا الزر. أقوم أيضا بتعيين Tooltip لتكون مرتبطا بالمحتوى ويقول ToolTip الماوس فوق الزر الذي يحتوي عليه 18 عاما. يجب أن يكون هذا السلوك الصحيح ك 18 هو قيمة أزرار Z-Visuch. وبالتالي، يجب أن يكون الزر الذي يحتوي على 18 على ذلك على رأس الزر مع 16 على ذلك. ومع ذلك، لم يقدم WPF قماش بمثل هذه الأزياء وكنت أتساءل عن كيفية التغلب على هذا. حاولت Canvas.invalidateArranage ()، Canvas.invalidateSuvual ()، Canvas.updatelayout () ولكن لم يكن لدي حظ. يوضح الجانب الأيسر من القماش ما يجب أن يبدو عليه، لكن الجانب الأيمن فشل في إنتاج نفس النتيجة حتى على الرغم من صحة قيم الفهرس Z، وحتى هذه القوارب تثبت وجهة نظري أن هذا خطأ في WPF.

هل كانت مفيدة؟

المحلول

في WPF، من الناحية الفنية الماوس أكثر من 18. الطريقة التي يتم فيها تشغيل الأحداث (قد) على النحو التالي:

أنا أكثر من "16"، اتصل بالفولاي لمدة 16 عاما "18"، اتصل بالفولاي لمدة 18 عاما

منذ 18 عاما كان أكثر ما يسمى، تم اختياره (مرة أخرى، فقط تخميني).

في الأحداث Args لحدث Mousemove (أفترض Mousemove)، تأكد من تعيين e.handled = True، بهذه الطريقة تمت معالجتها فقط مرة واحدة

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top