سؤال

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

<TextBlock Text="{Binding Path=Text}"/>

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

المحلول

تحتاج إلى تعيين ملف FrameworkElement.Language منشأه. أسهل طريقة للقيام بذلك للتطبيق بأكمله هي تجاوز بيانات التعريف في الممتلكات في App مُنشئ فئة ثابتة:

public partial class App : Application
{
    static App()
    {
        FrameworkElement.LanguageProperty.OverrideMetadata(
            typeof(FrameworkElement),
            new FrameworkPropertyMetadata(
                XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));
    }
}

إذا كنت ترغب فقط في ضبط الثقافة لعنصر تحكم محدد ، فيمكنك ربطها Language خاصية لخاصية DataContext الخاصة بك:

<TextBlock Text="{Binding Something}" Language="{Binding TheLanguage}" />
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top