小编Ken*_*n K的帖子

限制Xamarin.Forms中输入字段的输入长度和字符

如何限制在Xamarin.Forms中的Entry控件中输入的长度和字符.我需要创建自定义控件吗?有没有办法从Entry(或其他控件)派生,所以我可以应用必要的每平台输入限制.

一个示例是一个数字字段,最多只能包含3个字符,仅限数字.

将Entry控件的Keyboard属性设置为Keyboard.Numeric仅设置iOS的键盘.它不限制实际的文本输入 - 即我仍然可以输入非数字字符.我也没有看到限制进入长度的方法.

c# textinput keyboard-events xamarin.forms

26
推荐指数
5
解决办法
4万
查看次数

带有Cloudfront/CDN的预先签名的S3 URL

是否可以为CDN生成预先签名的URL(即CloudFront?),还是可以将预先签名的URL参数附加到CloudFront URL以供使用?

例:

string url = amazonS3Client.generatePresignedUrl(generatePresignedUrlRequest);
Run Code Online (Sandbox Code Playgroud)

收益:

url = "https://bucket-name.s3.amazonaws.com/file.txt?AWSAccessKeyId=XXXXXXXXXXXXXXXXXXXX&Expires=1111111111&Signature=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Run Code Online (Sandbox Code Playgroud)

我可以获取URL参数并附加到相应的CloudFront URL:

https://00000000000000.cloudfront.net/file.txt?AWSAccessKeyId=XXXXXXXXXXXXXXXXXXXX&Expires=1111111111&Signature=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Run Code Online (Sandbox Code Playgroud)

这项工作是否允许下载文件?

cdn download amazon-s3 amazon-cloudfront

12
推荐指数
1
解决办法
1139
查看次数

你如何正确绑定和更新Xamarin.Forms ListView?

使用MVVM模式,我有一个Model,ViewModel和View,它包含一个ListView.ListView绑定到ViewModel的成员,该成员是Model类的ObservableCollection.我可以使初始显示的绑定工作,并且可以在对视图执行操作时更新适当行的Model类的属性,但是我无法刷新视图,从ObservableCollection中的Model类中提取数据.ListView类不包含使无效或强制刷新的方法,这将解决我的问题.更新模型上的数据后,如何刷新ListView?

这是我想要做的一个简单示例:每行包含一个Button和Label.单击按钮后,我可以更新标签,该标签将反映在屏幕上.我需要做的是更新模型,反过来应该强制更新视图.但是,我不能让这个工作.在实际应用程序中,Model的更新将在业务逻辑层中,而不是在视图中,之后我需要强制刷新ListView.

示例代码:

using System;
using System.Collections.ObjectModel;
using Xamarin.Forms;

namespace ListViewTest
{   
    public class Model
    {
        public static int ids = 0;
        public Model(string count) 
        {
            Id = +1;
            Count = count;
        }
        public int Id { get; set; }
        public string Count { get; set; }
    }

    public class ModelList : ObservableCollection<Model>
    {
    }

    public class ViewModel
    {
        ModelList list = new ModelList();
        public ModelList ViewModelList
        {
            get { return list; }
            set 
            { 
                list = value; 
            }
        } …
Run Code Online (Sandbox Code Playgroud)

c# data-binding listview observablecollection xamarin.forms

6
推荐指数
1
解决办法
2万
查看次数