在MVVM交叉绑定语句中使用Linq
本文关键字:Linq 语句 绑定 MVVM | 更新日期: 2023-09-27 18:11:13
在MVVM交叉绑定语句中我可以使用linq表达式吗?
例如;in my ItemTemplate item_places.axml
:
<VideoView
android:id="@+id/placesVideo"
local:MvxBind="VideoUri myPlace.videos.FirstOrDefault().url" />
// Models
public class MyPlace
{
public List<Video> videos { get; set; }
}
public class Video
{
public string url { get; set; }
}
不,那是不可能的(据我所知)。您可以通过向模型添加另一个属性来实现这一点:
public class MyPlace
{
public List<Video> videos { get; set; }
public Video MyFirstVideo
{
get
{
return videos.FirstOrDefault();
}
}
}
那么你的绑定看起来如下:
<VideoView
android:id="@+id/placesVideo"
local:MvxBind="VideoUri myPlace.MyFirstVideo.url" />
但是要小心:这里没有PropertyChanged
。所以当你更新你的视频列表时,你的视图中没有任何变化!