我正在使用Xamarin.forms,我需要每隔5秒显示一次自动刷新的网络摄像头图像。
XAML:
<Image RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width}" RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height}">
<Image.Source>
<UriImageSource Uri="{Binding WebCam1Url}"
CacheValidity="0"
CachingEnabled="false"/>
</Image.Source>
</Image>
查看型号:
public String WebCam1Url
{
get { return webcam1url; }
set
{
webcam1url = value;
OnPropertyChanged("WebCam1Url");
}
}
显示图像,但它永远不会刷新。
答案 0 :(得分:0)
尝试使用Device.StartTimer更新绑定“WebCam1Url”:
https://docs.microsoft.com/en-us/dotnet/api/xamarin.forms.device.starttimer?view=xamarin-forms
我认为您必须在每次更新时更改绑定的值以使其正常工作,使用虚拟查询字符串参数,例如?update = xxxx ,其中 xxx 是随机字符串,你必须在Device.StartTimer方法中每5秒更改一次。
答案 1 :(得分:0)
您必须在OnAppearing()方法中添加以下方法:
Device.StartTimer(TimeSpan.FromSeconds(5), () =>
{
//your uri is update here but you need every time new uri so you have to fetch it from anywhere
return true;
});