【问题标题】:Font Awesome User Control Text Binding [Xamarin]Font Awesome 用户控件文本绑定 [Xamarin]
【发布时间】:2018-11-23 03:22:18
【问题描述】:

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

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

此控件位于Grid 内,即ItemSource 是具有IconColour 属性的对象列表。

当我使用第一个代码 sn-p 中显示的代码时,FontAwesome 图标不会呈现在页面上。 Icon 属性都有类似 \uf0ac 这样的值。

有趣的是,如果我将第一个 sn-p 中的 Text 属性代码更改为

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

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

这不适用于我的方案,因为 API 调用中提供了图标代码,为每个通知图块提供了自己的图标。

关于Text="{Binding Icon}" 部分,我做错了什么。

【问题讨论】:

    标签: c# xaml xamarin binding static


    【解决方案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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-23
      • 2018-10-17
      • 2019-11-14
      • 1970-01-01
      • 2020-07-28
      • 1970-01-01
      • 2014-11-11
      相关资源
      最近更新 更多