سؤال

لقد قمت بتجربة WPF وعرض علامات XAML الصارمة في متصفح الويب، المعروف أيضًا باسم Loose XAML (موضح هنا و هنا).

يبدو لي أنه مفيد في الغالب لعرض المحتوى الثابت.ومع ذلك، يبدو من الممكن أيضًا الارتباط بموفر بيانات XML.

لا يتم تجميع ملفات XAML السائبة باستخدام أحد التطبيقات، مما يؤدي إلى إنشاء القيود التالية:

  • لا يسمحون بالتجمعات الخارجية
  • لا يوجد استخدام للفئات أو الكود الخلفي (أو أي لغة C#)
  • لا يوجد ربط بيانات ثنائي الاتجاه

ما هي القيود الإضافية هناك؟

  • لم أجد طريقة لربط البيانات بموفر قاعدة البيانات (SQL Server)
  • هل .NET Framework مطلوب على جهاز العميل لعرض XAML في المتصفح؟
  • هل محركات البحث قادرة على استجواب XAML فضفاضة لتصنيف الصفحات بشكل مناسب؟

يحرر:لقد حاولت ربط موفر بيانات XML بخدمة ويب (باستخدام هذا مثال بسيط) ولم تكن ناجحة.تقودني هذه النتائج إلى مزيد من البحث حيث وجدت أن هذا غير مدعوم:"تم تصميم Xmldataprovider ليكون للقراءة فقط (بمعنى آخر ، لا يوفر القدرة على ارتكاب تغييرات) ، وليس قادرًا على التعامل مع بيانات XML التي قد تأتي من مصادر أخرى (مثل سجل قاعدة البيانات ، رسالة خدمة ويب ، وما إلى ذلك). " -ماتو ماكدونالد ، برو WPF

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

المحلول

AFAIK من المستحيل تحديد سلسلة اتصال في XAML.لذلك لا يمكنك الوصول إلى قاعدة بيانات SQL الخاصة بك.

ملحوظة:من الممكن ربط البيانات بخدمة ويب ولكن باستخدام XmlDataProvider.لذلك يمكن أن تكون هذه طريقة يمكنك من خلالها إرسال بياناتك عبر ...

يحرر:راجع للشغل، لقد وجدت هذا قائمة ميزات بيئة Sandboxed, ، الذي يعمل به تطبيقك عند استخدام XBAP وXAML السائب.إنها قديمة بعض الشيء، ولكن ربما لا تزال معظم القيود سارية.

نصائح أخرى

مطلوب إطار عمل 3.0 على الأقل لعرض صفحات XAML غير الثابتة في IE.يمكنك أيضًا التحقق من ذلك على موقعك من خلال البحث عن ".NET CLR 3.0" في سلسلة وكيل المستخدم.

لن يتم إجراء اتصال قاعدة البيانات، إذا كان ذلك ممكنًا، مباشرةً في XAML غير المحكم بسبب الحاجة إلى تعليمات برمجية إجرائية لفتح الاتصال.

لقد قمت بالكثير من العمل في استضافة وقت تشغيل اللغة الديناميكي (DLR) والسماح بتضمين البرامج النصية في XAML.أنا الآن أشعر بأن فضفاض XAML ليس مواطنًا من الدرجة الثانية حيث يمكنني التعامل مع الأحداث وكتابة محولات القيمة وتشغيل Python/Ruby/JScript للقيام بأشياء مثل الاتصال بخادم SQL.

انظر بلدي مدونة لمعرفة ما إذا كان هذا الاتجاه يناسبك.

أقوم بتحميل التجميعات ديناميكيًا باستخدام خاصية مرفقة - بمجرد التحميل، يمكنك الرجوع إلى الفئات الموجودة في التجميع بالطريقة المعتادة.

لذا، أجب أيضًا على السؤال، هناك العديد من القيود على XAML الفضفاض خارج الصندوق (مثل عدم القدرة على توجيه حدث إلى معالج الحدث)، ولكن يمكن التغلب عليها بقليل من العمل.

لقد استخدمت XAML/WPF فقط لتطبيقات سطح المكتب.نأمل أن يتدخل شخص آخر للإجابة على الأسئلة المحددة للمتصفح.

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

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