سؤال

هل وجد أي شخص طريقة لحفظ FlowDocument بتنسيق BAML أو أي تنسيق مضغوط آخر؟يمكنني استيراد XML مع الصور لإنشاء FlowDocument جديد:

<TextRange class instance>.Load(fs, DataFormats.Rtf)

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

<TextRange class instance>.Save(fs, DataFormats.Xaml);

ولكن هل هناك أي طريقة برمجية لحفظه بتنسيق مضغوط؟

إذا لم تكن هناك طريقة موجودة، فهل يعرف أحد أين يمكن العثور على مترجم XAML برمجي؟أو حتى فقط مواصفات BAML؟يمكنني إنشاء نافذة XAML كاملة برمجيًا مع تضمين FlowDocument، لكنني ما زلت أرغب في تحويل XAML إلى BAML لأوقات تحميل أسرع.أنا أستخدم مستندات rtf كبيرة نسبيًا ووقت التحويل باستخدام DataFormats.Rtf مهم.

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

المحلول

وأنا لا أعتقد أنه من الممكن ... وتتميز BamlWriter كما الداخلية، وهذا سيفتح نأمل قريبا!

وأنا للأسف لا أعرف من أي المجمعين XAML

نصائح أخرى

حسنًا، اتضح أنه يمكنك تشغيل Visual C# 2008 Express بدون واجهة المستخدم الرسومية.ويمكنك تعديل اسم البرنامج النهائي عبر الكود قبل التجميع أيضًا.أنا متأكد من أنه يمكنك القيام بذلك عبر واجهات برمجة التطبيقات، ولكن إليك الاختراق الذي وجدته:

  1. يتم تحديد اسم البرنامج في .csproj، في علامة XML.
  2. التشغيل عبر الكود أو الملف الدفعي:"\Common7\IDE\vcsexpress" ".sln" / إعادة بناء الإصدار / إصدار Projectconfig / أخطاء الإخراج.txt

أرغب في فحص ملف error.txt ثم حذفه بعد كل تشغيل لتسهيل معرفة ما إذا كنت قد حصلت على إصدار نظيف أم لا.هذا ليس مثاليًا لأنه يجب أن يكون لديك إصدار كامل من Visual C# 2008 على كل جهاز تستخدمه بهذه الطريقة، ولكنها طريقة لإنشاء ملف تنفيذي جديد لعرض كل مستند تدفق بطريقة برمجية.وأيضًا إذا كان لديك خطأ في XAML، فقد تقوم بإنشاء برنامج لا يعمل.

لاحظ أن تنسيق BAML لا يضغط النص، بل يقوم فقط بضغط العلامات و"السباكة" الأخرى.حتى معلومات الهامش والحشو يتم حفظها بتنسيق ASCII واضح.يتم توريث هذا من خلال نهاية .exe مما يترك النص مرئيًا بوضوح في الأقسام إلى المفكرة أو ما شابه.

ويتم ضغط تنسيق XamlPackage:

<TextRange class instance>.Save(fs, DataFormats.Xaml);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top