如何在 XAML (Silverlight) 中以编程方式设置 TextBox 文本
How can I set a TextBox text programmatically in XAML (Silverlight)
我的 XAML:
中的 DataTemplate 中有一个 TextBox
<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>
我想使用我的翻译器 class (LanguageManager) 翻译我的 TextBlock 中的文本 "Aproved",他负责从我的资源文件中获取字符串:
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')"/>
直接从我的 class 获取字符串并传递带有资源名称的参数。
我正在使用 Silverlight 4。
有什么办法吗?我必须在我的代码中做一些完全不同的事情吗?
您可以像这样简单地做到这一点:
tbApproved.Text = LanguageManager.GetString("resourceName");
如果你想在XAML中使用Binding(推荐):
<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 设置为查看具有 ApprovedLabel 属性 的模型:
public string ApprovedLabel
{
get {return LanguageManager.GetString("resourceName");}
set {}
}
我的 XAML:
中的 DataTemplate 中有一个 TextBox <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>
我想使用我的翻译器 class (LanguageManager) 翻译我的 TextBlock 中的文本 "Aproved",他负责从我的资源文件中获取字符串:
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')"/>
直接从我的 class 获取字符串并传递带有资源名称的参数。
我正在使用 Silverlight 4。
有什么办法吗?我必须在我的代码中做一些完全不同的事情吗?
您可以像这样简单地做到这一点:
tbApproved.Text = LanguageManager.GetString("resourceName");
如果你想在XAML中使用Binding(推荐):
<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 设置为查看具有 ApprovedLabel 属性 的模型:
public string ApprovedLabel
{
get {return LanguageManager.GetString("resourceName");}
set {}
}