gpt4 book ai didi

mvvm - ViewCell 未绑定(bind)

转载 作者:行者123 更新时间:2023-12-03 10:52:44 24 4
gpt4 key购买 nike

我的 xaml 页面上有以下带有绑定(bind)的 listView。我正在从我的 viewModel 将数据绑定(bind)到它。但是这些值没有绑定(bind)到单元格。

 <ListView x:Name="historyList" ItemsSource="{Binding History}" HasUnevenRows="true">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<ViewCell.View>
<StackLayout Orientation="Horizontal" Padding="10, 5, 10, 5" Spacing="0" HorizontalOptions="FillAndExpand" >
<Label Text="{Binding History.DayNumber}" HorizontalOptions="Center" FontSize="15" TextColor="Red" VerticalOptions="Center"></Label>
</StackLayout>
</ViewCell.View>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>

我的 History 对象具有属性 DayNumber,但该值未绑定(bind)到标签?

有什么建议吗?还是我错过了什么?

谢谢你。

编辑:

以下是我获取历史列表的方式:
 void GetAllHistory()
{
foreach(CheckInTimeHistory h in App.Database.GetHistoryCheckins(null))
{
CheckInHistoryItem hi = new CheckInHistoryItem();

hi.CheckedIn = (h.AutoCheckIn ? false : true);
hi.CheckInTime = h.CheckInTime.AddSeconds(-h.CheckInTime.Second).ToString("HH:mm-ss tt");
hi.DayNumber = h.CheckInTime.Day.ToString();
hi.DayText = h.CheckInTime.DayOfWeek.ToString().Substring(0, 2);

History.Add(hi);
}
}


public class CheckInHistoryItem
{
public String DayText, DayNumber, CheckInTime;
public Boolean CheckedIn;
}

最佳答案

您将在调试输出中看到如下警告:

Binding: 'DayNumber' property not found on '....CheckInHistoryItem', target property: 'Xamarin.Forms.Label.Text'



属性必须是 C# 属性。只需将您的类(class)更改为

public class CheckInHistoryItem
{
public String DayText { get; set; }
public String DayNumber { get; set; }
public String CheckInTime { get; set; }
public Boolean CheckedIn { get; set; }
}

并使用 DayNumber而不是 History.DayNumber
<Label Text="{Binding DayNumber}" HorizontalOptions="Center" FontSize="15" TextColor="Red" VerticalOptions="Center"></Label>

关于mvvm - ViewCell 未绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36954485/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com