Как передать статическое значение в IValueConverter в XAML

Я хотел бы использовать статические тексты, полученные из веб-службы, в моем приложении WP7. Каждый текст имеет имя (, индекс )и свойство содержимого.

Например, текст может выглядеть так:

Name = "M43";
Content = "This is the text to be shown";

Затем я хотел бы передать имя (, то есть идентификатор )текста, в IValueConverter, который затем будет искать имя и возвращать текст.

Я подумал, что преобразователь должен выглядеть примерно так:

public class StaticTextConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        if (value != null)
        {
            return App.StaticTexts.Items.SingleOrDefault(t => t.Name.Equals(value)).Content;
        }

        return null;
    }
}

Затем в XAML:

<phone:PhoneApplicationPage.Resources>
    <Helpers:StaticTextConverter x:Name="StaticTextConverter" />
</phone:PhoneApplicationPage.Resources>

...

<TextBlock Text="{Binding 'M43', Converter={StaticResource StaticTextConverter}}"/>

Однако это не работает, и я не уверен, что правильно передаю значение преобразователю.

У кого-нибудь есть предложения?

10
задан Zappel 3 August 2012 в 14:34
поделиться