我使用从一个Web服务,它应该用于各种控件获取文本的集合。
要做到这一点,最简单,最有活力的方式,在我看来,是使用IValueConverter
来获取给定文本如下:
public class StaticTextConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (parameter != null && parameter is string)
{
return App.StaticTexts.Items.SingleOrDefault(t => t.Name.Equals(parameter)).Content;
}
return null;
}
}
然后在XAML我给文字(“名称”)的转换器的ID:
<phone:PhoneApplicationPage.Resources>
<Helpers:StaticTextConverter x:Name="TextConverter" />
</phone:PhoneApplicationPage.Resources>
<TextBlock Text="{Binding Converter={StaticResource TextConverter}, ConverterParameter=M62}" />
然后改变一些控件的文本,所有这些都需要做的就是要么改变ID在参数或文本本身的一些Web界面更改。
我的问题是
该值只转换器被调用时,在某种DataTemplate
文意ItemSource
已定,就好像Binding
属性只在那里工作。
每当我用这个方法在其他地方,值转换器根本不被调用。
有没有人有什么我可能是做错了的想法?