博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Xamarin.forms--------------Picker
阅读量:4309 次
发布时间:2019-06-06

本文共 10329 字,大约阅读时间需要 34 分钟。

Guides----https://developer.xamarin.com/guides/xamarin-forms/user-interface/picker/

API-----https://developer.xamarin.com/api/type/Xamarin.Forms.Picker/

 

Demo: Picker省,市,区 三级联动

 

 

using System;

using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

public class District //区    {        public string DistrictName { get; set; }    //区名字        public string DistrictPostcode { get; set; } //区的邮编    }    public class City    {        public ObservableCollection
DistrictObservableCollection { get; set; } //区的集合 public string CityName { get; set; } //城市的名字 } public class Province { public ObservableCollection
CityObservableCollection { get; set; } //城市的集合 public string ProvinceName { get; set; } //省份的名字 }
 

using System;

using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

public static class Data    {        public static ObservableCollection
Provinces { get; private set; } static Data() { Provinces = new ObservableCollection
() { new Province() { ProvinceName = "福建省", CityObservableCollection = new ObservableCollection
() { new City() { CityName = "福州市", DistrictObservableCollection = new ObservableCollection
() { new District() { DistrictName = "鼓楼区", DistrictPostcode = "350001" }, new District() { DistrictName = "晋安区", DistrictPostcode = "350002" }, new District() { DistrictName = "台江区", DistrictPostcode = "350003" }, new District() { DistrictName = "仓山区", DistrictPostcode = "350004" }, } }, new City() { CityName = "厦门市", DistrictObservableCollection = new ObservableCollection
() { new District() { DistrictName = "思明区", DistrictPostcode = "361001" }, new District() { DistrictName = "湖里区", DistrictPostcode = "361002" }, new District() { DistrictName = "集美区", DistrictPostcode = "361003" }, new District() { DistrictName = "海沧区", DistrictPostcode = "361004" }, new District() { DistrictName = "翔安区", DistrictPostcode = "361005" }, } }, new City() { CityName = "泉州市", DistrictObservableCollection = new ObservableCollection
() { new District() { DistrictName = "丰泽区", DistrictPostcode = "362001" }, new District() { DistrictName = "鲤城区", DistrictPostcode = "362002" }, new District() { DistrictName = "洛江区", DistrictPostcode = "362003" }, new District() { DistrictName = "泉港区", DistrictPostcode = "362004" }, } }, } }, new Province() { ProvinceName = "浙江省", CityObservableCollection = new ObservableCollection
() { new City() { CityName = "杭州市", DistrictObservableCollection = new ObservableCollection
() { new District() { DistrictName = "西湖区", DistrictPostcode = "310001" }, new District() { DistrictName = "余杭区", DistrictPostcode = "310002" }, new District() { DistrictName = "萧山区", DistrictPostcode = "310003" }, new District() { DistrictName = "下城区", DistrictPostcode = "310004" }, } }, new City() { CityName = "宁波市", DistrictObservableCollection = new ObservableCollection
() { new District() { DistrictName = "海曙区", DistrictPostcode = "315001" }, new District() { DistrictName = "江东区", DistrictPostcode = "315002" }, new District() { DistrictName = "江北区", DistrictPostcode = "315003" }, new District() { DistrictName = "镇海区", DistrictPostcode = "315004" }, new District() { DistrictName = "北仑区", DistrictPostcode = "315005" }, } }, new City() { CityName = "温州市", DistrictObservableCollection = new ObservableCollection
() { new District() { DistrictName = "鹿城区", DistrictPostcode = "325001" }, new District() { DistrictName = "龙湾区", DistrictPostcode = "325002" }, new District() { DistrictName = "瓯海区", DistrictPostcode = "325003" }, } }, } }, new Province() { ProvinceName = "安徽省", CityObservableCollection = new ObservableCollection
() { new City() { CityName = "合肥市", DistrictObservableCollection = new ObservableCollection
() { new District() { DistrictName = "蜀山区", DistrictPostcode = "230001" }, new District() { DistrictName = "庐阳区", DistrictPostcode = "230002" }, new District() { DistrictName = "瑶海区", DistrictPostcode = "230003" }, new District() { DistrictName = "包河区", DistrictPostcode = "230004" }, } }, new City() { CityName = "淮北市", DistrictObservableCollection = new ObservableCollection
() { new District() { DistrictName = "相山区", DistrictPostcode = "235001" }, new District() { DistrictName = "杜集区", DistrictPostcode = "235002" }, new District() { DistrictName = "烈山区", DistrictPostcode = "235003" }, } }, new City() { CityName = "宿州市", DistrictObservableCollection = new ObservableCollection
() { new District() { DistrictName = "埇桥区", DistrictPostcode = "234001" }, } }, } }, new Province() { ProvinceName = "江西省", CityObservableCollection = new ObservableCollection
() { new City() { CityName = "南昌市", DistrictObservableCollection = new ObservableCollection
() { new District() { DistrictName = "东湖区", DistrictPostcode = "330001" }, new District() { DistrictName = "西湖区", DistrictPostcode = "330002" }, new District() { DistrictName = "青云谱区", DistrictPostcode = "330003" }, new District() { DistrictName = "湾里区", DistrictPostcode = "330004" }, } }, new City() { CityName = "景德镇市", DistrictObservableCollection = new ObservableCollection
() { new District() { DistrictName = "珠山区", DistrictPostcode = "333001" }, new District() { DistrictName = "昌江区", DistrictPostcode = "333002" }, } }, new City() { CityName = "九江市", DistrictObservableCollection = new ObservableCollection
() { new District() { DistrictName = "浔阳区", DistrictPostcode = "332001" }, new District() { DistrictName = "庐山区", DistrictPostcode = "332002" }, } }, } } }; } }
using System;using System.Collections.Generic;using System.Collections.ObjectModel;using System.Linq;using System.Text;using System.Threading.Tasks;using DemoTest_3_28.Models;using Xamarin.Forms;using Xamarin.Forms.Xaml;namespace DemoTest_3_28.PickerDemo{    [XamlCompilation(XamlCompilationOptions.Compile)]    public partial class PickerDemoPage : ContentPage    {        private ObservableCollection
source; private string postcode = null; public PickerDemoPage() { InitializeComponent(); source = Data.Provinces; foreach (var province in source) { provincePicker.Items.Add(province.ProvinceName); } provincePicker.SelectedIndex = 0; } private void ProvincePicker_OnSelectedIndexChanged(object sender, EventArgs e) { if (provincePicker.SelectedIndex!=-1) { var result_1 = source[provincePicker.SelectedIndex].CityObservableCollection; CityPicker.Items.Clear();//重要, 而且触发CityPicker_OnSelectedIndexChanged,CityPicker.SelectedIndex=-1 foreach (var city in result_1) { CityPicker.Items.Add(city.CityName); } CityPicker.SelectedIndex = 0; } } private void CityPicker_OnSelectedIndexChanged(object sender, EventArgs e) { if (CityPicker.SelectedIndex!=-1) { var result_2 = source[provincePicker.SelectedIndex].CityObservableCollection[CityPicker.SelectedIndex].DistrictObservableCollection; DistrictPicker.Items.Clear(); //重要 foreach (var district in result_2) { DistrictPicker.Items.Add(district.DistrictName); } DistrictPicker.SelectedIndex = 0; //重要 } } private void DistrictPicker_OnSelectedIndexChanged(object sender, EventArgs e) { if (DistrictPicker.SelectedIndex!=-1) { postcode = source[provincePicker.SelectedIndex].CityObservableCollection[CityPicker.SelectedIndex].DistrictObservableCollection[DistrictPicker.SelectedIndex].DistrictPostcode; label_Postcode.Text = "邮编:" + postcode; } } }}

 

转载于:https://www.cnblogs.com/ThenDog/p/6790783.html

你可能感兴趣的文章
apache+nginx 实现动静分离
查看>>
通过Navicat远程连接MySQL配置
查看>>
phpstorm开发工具的设置用法
查看>>
Linux 系统挂载数据盘
查看>>
Git基础(三)--常见错误及解决方案
查看>>
Git(四) - 分支管理
查看>>
PHP Curl发送数据
查看>>
HTTP协议
查看>>
HTTPS
查看>>
git add . git add -u git add -A区别
查看>>
apache下虚拟域名配置
查看>>
session和cookie区别与联系
查看>>
PHP 实现笛卡尔积
查看>>
Laravel中的$loop
查看>>
CentOS7 重置root密码
查看>>
Centos安装Python3
查看>>
PHP批量插入
查看>>
laravel连接sql server 2008
查看>>
Laravel 操作redis的各种数据类型
查看>>
Laravel框架学习笔记之任务调度(定时任务)
查看>>