Как я могу установить текст TextBox программно в XAML (Silverlight) - PullRequest
0 голосов
/ 10 февраля 2020

У меня есть TextBox внутри DataTemplate в моем XAML:

    <DataTemplate x:Key="aproved" >
        <StackPanel Orientation="Vertical" Width="70" Height="70" VerticalAlignment="Center" HorizontalAlignment="Center"  >
            <Image Source="/PF;component/Images/checked_checked.png" Width="50" Height="50"></Image>
            <TextBlock Name="tbAproved" HorizontalAlignment="Center" Text="Aproved" />               
        </StackPanel>
    </DataTemplate>

Я хочу перевести текст «Aproved» в моем TextBlock, используя мой класс переводчика (LanguageManager), который отвечает за получение строк из мои файлы ресурсов:

public class LanguageManager {
    public static String GetString(String resourceName) {
        if (Singleton.Instance().IdLanguage == 2) {
            return ResourceEnglish.ResourceManager.GetString(resourceName);
        } else {
            return ResourcePortuguese.ResourceManager.GetString(resourceName);
        }
    }
}

Итак, в моем текстовом поле я пытался сделать что-то вроде этого:

<TextBlock Name="tbAproved" HorizontalAlignment="Center" Text="LanguageManager.GetString('resourceName')"/>

Получение строки непосредственно из моего класса и передача параметра с помощью resourceName.

Я использую Silverlight 4.

Есть ли способ сделать это? Я должен сделать что-то совершенно другое в моем коде?

1 Ответ

0 голосов
/ 16 февраля 2020

Вы можете сделать это так просто:

tbApproved.Text = LanguageManager.GetString("resourceName");

Если вы хотите использовать Binding в XAML (рекомендуется):

<DataTemplate x:Key="aproved" >
    <StackPanel Orientation="Vertical" Width="70" Height="70" VerticalAlignment="Center" HorizontalAlignment="Center"  >
        <Image Source="/PF;component/Images/checked_checked.png" Width="50" Height="50"></Image>
        <TextBlock Name="tbAproved" HorizontalAlignment="Center" Text="{Binding ApprovedLabel}" />               
    </StackPanel>
</DataTemplate>

Установите для DataContext значение View Model, имеющее свойство ApprovedLabel :

    public string ApprovedLabel
    {
        get {return LanguageManager.GetString("resourceName");}
        set {}
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...