برنامج الأغذية العالمي تلميح الأدوات لا يظهر على usercontrol أو أبنائها

StackOverflow https://stackoverflow.com/questions/478209

  •  20-08-2019
  •  | 
  •  

سؤال

ولدي قماش مع عناصر تحكم المستخدم رتبت على ذلك. عندما يتم تعيين تلميح لفي UserControl أو أحد أبنائه، لا تبين أن تلميح الأدوات (لا يحصل أطلق الحدث مفتوحا إما). أنا لا تعطيل صراحة أي منها.

ولقد وضعت الكثير من تلميحات في أي مكان آخر في التطبيق، وأنهم جميعا المعرض، ما عدا تلك على UserControl أنا خلقت.

وأي أفكار؟

والتسلسل الهرمي هو تقريبا على النحو التالي:

<Grid>
 <Canvas>
  <UserControl>
   <Canvas>
    <Line/>
    <Rectangle/>
   </Canvas>
  </UserControl>
 </Canvas
</Grid>
هل كانت مفيدة؟

المحلول 2

وأخيرا حظيت بها. على بلدي قماش، وكنت رسم خطوط مؤشر (الأفقي والعمودي لتظهر على الشبكة مكاني والقيم على اليسار / أسفل)، تبين أنه عندما يتم تنفيذ اختبار ضرب، وكان ضرب تلك الخطوط ووقف . عن طريق وضع IsHitTestVisible إلى false على كافة الهندسة unrelevant، ويظهر لي تلميح الأدوات الآن بشكل صحيح.

والسبب كنت أشاهده الماوس دخول / مغادرة كان الحدث لأنه عندما يتحرك المؤشر، وخطوط شأنه جر 1 إطار راء وبالتالي تسمح الماوس لدخول / مغادرة ولكن لم يتحرك.

وهذا يحل قضية بلدي.

نصائح أخرى

إذا خلفية في UserControl هي س: لاغية، ثم أحداث الماوس ستسقط من خلال المحتوى الأساسي. يمكنك استخدام "شفاف" لضمان أحداث الماوس تذهب إلى في UserControl.

وهذا السلوك لا يقتصر على usercontrols. انها السلوك العام لجميع WPF. في المثال الخاص بك، على افتراض لديك تعبئة على العناصر التابعة، يجب أن تكون قادرة على تحوم فوق تلك، وانظر تلميحات قمت بتعيينها.

وكان لي هذه المشكلة أصلا عندما اختبرت في بلدي قماش الجذر، كان لي المستطيل لا يظهر تلميح عندما كانت الخلفية فارغة. ومع ذلك، وهذا ليس حل القضية لعنصر تحكم المستخدم. حاولت خلفية شفافة لكل عنصر تحكم المستخدم وقماش داخله، المستطيل داخل هذا قماش الداخلي لديه خلفية سوداء وبعد، لا حظ: تلميح الأدوات فقط لن تفتح

وفعلت في محاولة لوضع تلميح على بلدي قماش الجذر وهذا يظهر صعودي ولكن ليس على بلدي الفردية تحكم المستخدم الطفل ولا من الداخل قماش / الأطفال، على الرغم من أن لديهم معلومات أساسية ملء مجموعة /.

وبالإضافة إلى ذلك، وضع الحدث MouseEnter يدل على انها تطلق في الواقع عندما يدخل الفأر قماش الداخلي، ولكن، سوف تلميح الأدوات لا البوب.

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