我正在开发一个Xamarin应用程序,并且我正在尝试显示一个通知网格,该网格会呈现一些文本以及FontAwesome图标。通知列表来自API,因此我需要为每个通知显示自定义图标。我有以下XAML
<controls:FontAwesomeLabel Text="{Binding Icon}" TextColor="{Binding Colour}" />
此控件位于Grid
内ItemSource
Icon
是具有Colour
和Icon
属性的对象列表。
当我使用第一个代码段中显示的代码时,FontAwesome图标将不会在页面上呈现。 \uf0ac
属性的值都是Text
。
有趣的是,如果我将第一个代码段中的<controls:FontAwesomeLabel Text="{x:Static controls:Icon.FAGlobe}"
TextColor="{Binding Colour}" />
属性代码更改为
Text
因此,在第二个示例中,\uf0ac
属性引用了具有相同代码Text="{Binding Icon}"
的静态字符串。但这次它在页面上呈现了正确的字体真棒图标。
这对我的方案不起作用,因为API调用中提供了图标代码,为每个通知添加了自己的图标。
关于{{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;