سؤال

وأنا أحاول أن يجعل بعض التطبيقات الرسم وأحصل على نتائج غريبة في بلدي "وضع التحديد". إذا كنت رسم مستطيل و "تحديده" RenderSize يعود الحجم المناسب لذلك، ولكن إذا تم تحديد خط RenderSize يعود الحجم التي وضعت العرض كما Line.X2، وارتفاع النحو Line.Y2. على سبيل المثال: الخط يبدأ في X1 = 50، Y1 = 50، وينتهي في X2 = 130، Y2 = 90، RenderSize يعود مع حجم العرض = 130 والطول = 90. اختيار بلدي يحتوي على عناصر من نوع UIElement ذلك أنا لا أعرف ( وحقا لا ينبغي أن تهتم) ما شكل محددا من أجل جعل وضع اختيار بصفتي عام ما أستطيع وأود أن ألفت المربع المحيط في حين ينتقل المستخدم اختيار الشكل.

وحاول جوجل المشكلة ولكن وجدت شيئا ذات الصلة لذلك ربما كنت يمكن أن تساعد لي مع ذلك. هل لأن مستطيل والموقف الذي حدده قماش في حين أن خط نقاطها مجموعة صراحة؟

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

المحلول

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

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

لاحظ أيضا أنه يمكنك الاستمرار في استخدام خصائص Canvas.Top/Left مع الكائن الخط الخاص بك لمزيد من تعويض ذلك، منها مثلا:

  <Canvas>
    <Line X1="50" X2="130" Y1="50" Y2="90" StrokeThickness="1" Stroke="Blue" Canvas.Top="50" Canvas.Left="30"></Line>
  </Canvas>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top