كيفية ضبط Cultureui الحالي عبر ربط XAML
-
03-10-2019 - |
سؤال
لدي نص نص مرتبط بسلسلة. أريد عرض السلسلة في ثقافة واجهة المستخدم الحالية للتطبيق. أريد أن أفعل هذا في 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}" />
لا تنتمي إلى StackOverflow