Неизвестный атрибут Передний план на элементе TextBlock WP 7 - PullRequest
2 голосов
/ 05 июля 2011

Неизвестный атрибут Передний план на элемент TextBlock

У меня есть эта ошибка, когда я пытаюсь изменить цвет переднего плана в зависимости на «Read_State»

public class ReadConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            bool ReadState =(bool)parameter;
                if (ReadState == false)
                    return new SolidColorBrush(Colors.Black);// new SolidColorBrush((Color)Application.Current.Resources["PhoneAccentColor"]);
                else
                    return new SolidColorBrush(Colors.Black);

        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }

В Xaml

<TextBlock Foreground="{Binding Converter={StaticResource ReadConverter},ConverterParameter={Binding Read_State}}"  Text="{Binding Path=TexT}" Style="{StaticResource PhoneTextNormalStyle}" TextWrapping="Wrap"/>

1 Ответ

3 голосов
/ 05 июля 2011

Ошибка может вводить в заблуждение. Вы не можете использовать Binding на ConverterParameter.

Вы не используете конвертер, вам вообще не нужен ConverterParameter. Ваш код конвертера должен выглядеть так: -

    public class ReadConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            bool ReadState =(bool)value;
                if (ReadState == false)
                    return new SolidColorBrush(Colors.Black);// new SolidColorBrush((Color)Application.Current.Resources["PhoneAccentColor"]);
                else
                    return new SolidColorBrush(Colors.Black);

        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }

и ваш Xaml: -

 <TextBlock Foreground="{Binding Read_State, Converter={StaticResource ReadConverter}}"  Text="{Binding Path=TexT}" Style="{StaticResource PhoneTextNormalStyle}" TextWrapping="Wrap"/>

Возможно, вы захотите прочитать этот блог для дальнейшего использования.

...