Связывание текста Font Awesome User Control [Xamarin] - PullRequest
0 голосов
/ 13 июня 2018

Я работаю над приложением Xamarin и пытаюсь отобразить сетку уведомлений, которая отображает некоторый текст вместе со значком FontAwesome.Список уведомлений поступает из API, поэтому мне нужно отображать пользовательский значок для каждого уведомления.У меня есть следующее XAML

<controls:FontAwesomeLabel Text="{Binding Icon}" TextColor="{Binding Colour}" />

Этот элемент управления находится внутри Grid, это ItemSource является списком объектов, которые имеют свойства Icon и Colour.

Когда я использую код, показанный в первом фрагменте кода, значок FontAwesome не будет отображаться на странице.Свойство Icon все имеет такие значения, как \uf0ac.

Самое смешное, если я изменю код свойства Text в первом фрагменте на

<controls:FontAwesomeLabel Text="{x:Static controls:Icon.FAGlobe}"
   TextColor="{Binding Colour}" />

Так что вво втором примере свойство Text ссылается на статическую строку с тем же кодом \uf0ac.Но на этот раз он отображает на странице значок правильного шрифта.

Это не будет работать для моего сценария, так как код вызова предоставляется в вызове API, давая каждой плитке уведомления свой собственный значок.

Что я делаю не так, когда дело касается Text="{Binding Icon}" части.

1 Ответ

0 голосов
/ 13 июня 2018

На моей модели я унаследовал от INotifyPropertyChanged, но по какой-то причине мне все же пришлось пойти в старую школу с привязкой, чтобы заставить ее работать.

    private string _icon;
    public string Icon
    {
        get
        {
            return _icon;
        }
        set
        {
            _icon = value;
            if (PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs("Icon"));
            }
        }
    }


    public event PropertyChangedEventHandler PropertyChanged;
...