У меня определен следующий конвертер (C #):
class BodyValueConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
string s = value.ToString();
int prefixLength;
if (!int.TryParse(parameter.ToString(), out prefixLength))
return s;
return s.Substring(0, prefixLength);
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotSupportedException();
}
}
Это начнется в начале передаваемой строки и вернет количество символов, которое я указал в качестве параметра.
В моем XAML я создал экземпляр конвертера:
<local:BodyValueConverter x:Key="BodyValueConverter"/>
При попытке использовать этот конвертер в текстовом блоке я получаю сообщение об ошибке:
<DataTemplate x:Key="AppointmentTemplate">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Subject}"></TextBlock>
<TextBlock Text="{Binding Path=Subject, Converter={StaticResource BodyValueConverter}, ConverterParameter=1}"></TextBlock>
</StackPanel>
</DataTemplate>
Ошибка:
XAMLParseException: укажите значение для 'System.Windows.Markup.StaticResourceHolder', вызвавшего исключение.
Первый текстовый блок отлично работает для отображения темы.2-я строка дает мне исключение.