如何每5秒刷新一次图像?

时间:2018-06-13 09:00:33

标签: c# xamarin.forms

我正在使用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");
    }
}

显示图像,但它永远不会刷新。

2 个答案:

答案 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;
            });