نافذة مخصصة WPF: لا يمكن "UNSNAP" نافذة تعظيم مع Win7 Aero Snap

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

  •  29-09-2019
  •  | 
  •  

سؤال

لدي تطبيق WPF يستخدم إطار نافذة مخصص. مشكلتي هي أنه لا يمكنني "إلغاء" نافذتي إلى أقصى حد مع Aero Snap في Windows 7.

خصائص نافذتي:

  • AllowsTransparency تم تعيينه على true
  • WindowStyle تم تعيينه على None
  • ResizeMode تم تعيينه على CanResizeWithGrip.

أنا أتعامل مع حركة السحب النافذة مثل:

private void TitleBarGrid_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
    DragMove();
}

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

لست متأكدًا من كيفية عمل Aero Snap ، لكن ما أجده غريبًا هو أن WPF Windows العادي (Windows غير المتوحش) يعمل بشكل جيد ؛ يمكنني إلغاء توضيحهم إذا تم تعظيمهم دون مشكلة. لماذا إذن تطبيق الخصائص أعلاه على نافذتي كسر ذلك؟

هل من الممكن أنني بحاجة إلى القيام ببعض معالجة رسائل WM المخصصة لجعل هذا العمل؟

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

المحلول

انتهى بي الأمر فقط باستخدام مكتبة تكامل شل WPF من Microsoft. إنه يتعامل مع جميع السحر ذي المستوى المنخفض اللازم لجعل Aero Snap يعمل.

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