我的日志文件中出现错误
[0:] 绑定:"用户消息"属性在"Saileela: 测试消息"上找不到,目标属性:"Xamarin.Forms.Label.Text">
private void MessageReceived(object sender, MessageEventArgs e)
{
_chatWindowViewModel.Usermessage = e.Message;
_chatWindowViewModel.MessagesList.Add(e.Message);
}
我的列表视图是:
<ListView x:Name="Listview" ItemsSource="{Binding MessagesList}">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Orientation="Vertical">
<Label Text="{Binding Usermessage}" FontSize="15"/>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
我的观点模型是:
namespace MobileChat.ViewModels.Chat
{
public class ChatWindowViewModel : INotifyPropertyChanged
{
private string _message;
private ObservableCollection<string> _messageslist = new ObservableCollection<string>();
public ChatWindowViewModel()
{
}
public ObservableCollection<string> MessagesList
{
get { return _messageslist;}
set{_messageslist = value;OnPropertyChanged();}
}
public string Usermessage
{
get { return _message; }
set{_message = value;OnPropertyChanged();}
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
}
消息列表是一个字符串列表。
在你的代码中,标签绑定路径是MessagesList.Usermessage,但是路径是无效的,因为列表中没有模型。
修改您的代码:
<Label Text="{Binding }" FontSize="15"/>