字体真棒用户控制文本绑定[Xamarin]

时间:2018-06-13 13:53:13

标签: c# xaml xamarin binding static

我正在开发一个Xamarin应用程序,并且我正在尝试显示一个通知网格,该网格会呈现一些文本以及FontAwesome图标。通知列表来自API,因此我需要为每个通知显示自定义图标。我有以下XAML

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

此控件位于GridItemSource Icon是具有ColourIcon属性的对象列表。

当我使用第一个代码段中显示的代码时,FontAwesome图标将不会在页面上呈现。 \uf0ac属性的值都是Text

有趣的是,如果我将第一个代码段中的<controls:FontAwesomeLabel Text="{x:Static controls:Icon.FAGlobe}" TextColor="{Binding Colour}" /> 属性代码更改为

Text

因此,在第二个示例中,\uf0ac属性引用了具有相同代码Text="{Binding Icon}"的静态字符串。但这次它在页面上呈现了正确的字体真棒图标。

这对我的方案不起作用,因为API调用中提供了图标代码,为每个通知添加了自己的图标。

关于{{1}}部分,我做错了什么。

1 个答案:

答案 0 :(得分:1)

在我的模特中,我继承自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;