سؤال

ولقد سعيت إلى التوصل إلى نهج توطين أفضل من LocBaml (اللي تبونه تمتص). وعلى الرغم من أنني يمكن استخدام شيء مثل {DynamicResource {س: ثابت LocalizableTexts.OpenTextKey}} (dynamicresource لغتي قد تتغير في وقت التشغيل). والسؤال الوحيد هو؟ كيف يمكنني بشكل صحيح إنشاء LocalizableTexts.OpenTextKey؟ هل هناك برنامج تعليمي هناك التي يمكن أن يعلمني كيفية إنشاء RessourceKeys مخصصة وكيفية تحديثها في وقت التشغيل؟

وأنا أعيش في العالم MVVM بالمناسبة ...

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

المحلول

وأعتقد بعد مفاتيح الموارد المكونة.

وتبدأ من خلال تحديد الموارد الخاصة بك في القاموس الموارد XAML، شيء من هذا القبيل:

<local:OpenText x:Key="{ComponentResourceKey TypeInTargetAssembly={x:Type local:LocalizableTexts}, ResourceId=OpenText}" />

وبعد ذلك إنشاء فئة استرجاع ثابتة:

public static class LocalizableTexts
{
     public static ComponentResourceKey OpenTextKey
     {
        get { return new ComponentResourceKey(typeof(LocalizableTexts), "OpenText"); }
     }
}

وأخيرا تأكد من أن تشير إلى مساحة اسم XML عند استخدام ساكنة ملزمة:

{DynamicResource {x:Static local:LocalizableTexts.OpenTextKey}} 
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top