关闭

win10 uwp 绑定多数据

标签: UWP绑定数据win10C#xaml
2131人阅读 评论(5) 收藏 举报
分类:

经常我们需要绑定的数据有多个,当添加到集合控件的对象类型结构比较复杂,我们希望自己来定义排版布局,这时可以使用ItemTemplate用资源的定义

现在有数据
caddressBook

    public class caddressBook
    {
        public caddressBook()
        {

        }
        /// <summary>
        /// 标识符
        /// </summary>
        public string id
        {
            set;
            get;
        }
        /// <summary>
        /// 通讯人姓名
        /// </summary>
        public string name
        {
            set;
            get;
        }
        /// <summary>
        /// 联系方式
        /// </summary>
        public string contact
        {
            set;
            get;
        }
        /// <summary>
        /// 工作地点
        /// </summary>
        public string address
        {
            set;
            get;
        }
        /// <summary>
         /// 城市
         /// </summary>
        public string city
        {
            set;
            get;
        }
        /// <summary>
        /// 备注
        /// </summary>
        public string comment
        {
            set;
            get;
        }
    }

我们在MainPage.xaml用

    <Page.Resources>
        <DataTemplate x:Key="xaddressBook">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="auto"/>
                <ColumnDefinition Width="auto"/>
                <ColumnDefinition Width="auto"/>
                <ColumnDefinition Width="auto"/>
                <ColumnDefinition Width="auto"/>
            </Grid.ColumnDefinitions>
            <!--通讯人姓名、联系方式、工作地点、城市、备注-->
            <TextBlock Grid.Column="0" >
                    通讯人姓名:
                    <Run Text="{Binding name}"/>  
                    <LineBreak/>
                    联系方式:
                    <Run Text="{Binding contact}"/>
                    <LineBreak/>
                    工作地点:
                    <Run Text="{Binding address}"/>
                    <LineBreak/>
                    城市:
                    <Run Text="{Binding city}"/>
                    <LineBreak/>
                    备注:
                    <Run Text="{Binding remark}"/>
                    <LineBreak/>
            </TextBlock>           
        </Grid>
    </DataTemplate>
    </Page.Resources>

列表

<ListView ItemTemplate="{StaticResource xaddressBook}" ItemsSource="{x:Bind view.addressBook,Mode=OneWay}"/>

使用System.Collections.ObjectModel.ObservableCollection来作为list资源。

viewModel

        public System.Collections.ObjectModel.ObservableCollection<caddressBook> addressBook
        {
            set;
            get;
        }
            = new System.Collections.ObjectModel.ObservableCollection<caddressBook>()
        {
                new caddressBook()
                {
                    name ="张三",
                    contact ="1",
                    address ="中国",
                    city =" ",
                    comment =" "
                } ,
                new caddressBook()
                {
                    name ="张三",
                    contact ="1",
                    address ="中国",
                    city =" ",
                    comment =" "
                }
        };

因为想一个名字不是很简单,我就使用contact 不同来认为是不同的

修改addressBook前台会更新,ObservableCollection是包含了INotifyPropertyChanged

        /// <summary>
        /// 修改
        /// </summary>
        public void modify()
        {
            var taddressBook = new caddressBook()
            {
                name = "张三" ,
                contact = "2" ,
                address = "中国" ,
                city = " " ,
                comment = " "
            };
            addressBook.Add(taddressBook);
        }

运行ObservableCollection

点击添加addressBook

代码:https://code.csdn.net/lindexi_gd/lindexi_gd/tree/master/observable_collection

3
0
查看评论

UWP入门(十二)--数据绑定用法

主要几个元素: Template DataTemplate ItemSource 数据绑定是一个数据提取的方法,能使数据和UI上的控件紧密相连,下面的Demo是这样的: 有许多书的集合,书 类中有图片、标题、作者和ID,把它成现在GridView 控件上,每次点击GridView 的时候动态显...
  • u011033906
  • u011033906
  • 2017-03-23 23:42
  • 1804

讲讲我在Windows10(uwp)开发中遇到的一些坑

7月29日发布的Windows10正式版,当天安装好以后,在网络不太好的情况下,经过多次尝试终于装上了Visual Studio 2015和Windows 10 10240的SDK.这两周一直在开发UWP,讲讲在其中遇到的一些坑,不定时更新,有兴趣的可以关注下. 1.DataType在UWP中缺失...
  • igweyou
  • igweyou
  • 2015-12-22 10:12
  • 4046

win10 uwp 绑定密码

win10 下,密码框无法绑定到ViewModel,Password是不可以绑定。 我们可以自己使用简单方法去绑定
  • lindexi_gd
  • lindexi_gd
  • 2017-04-28 09:06
  • 906

win10 uwp 绑定静态属性

Jasoon 大神问,如何绑定静态属性。 我们经常有静态属性,那么我们如何绑定
  • lindexi_gd
  • lindexi_gd
  • 2017-04-27 08:54
  • 854

win10 uwp 入门

UWP是什么我在这里就不说,本文主要是介绍如何入门UWP,也是合并我写的博客。
  • lindexi_gd
  • lindexi_gd
  • 2016-07-27 08:55
  • 4401

[c#][Windows Phone | Windows]FlipView循环滚动,图片轮播

想把FlipView内填充的图片能够自动的滚动播放 这里填充数据的绑定,但是绑定不可能是无限的啊,于是采取一些方法去做。 例子,分别有3张图片,红黄蓝3种颜色
  • u013850311
  • u013850311
  • 2015-10-24 20:33
  • 1249

win10 UWP 应用设置

win10 UWP 应用设置 简单的把设置需要的,放到微软自带的LocalSettings LocalSettings.Values可以存放几乎所有数据 如果需要存放复合数据,一个设置项是由多个值组成,可以使用ApplicationDataCompositeValue将多个合并。 存放一个st...
  • lindexi_gd
  • lindexi_gd
  • 2016-01-12 21:01
  • 2350

win10 uwp 毛玻璃

毛玻璃在UWP很简单,不会和WPF那样伤性能。 本文告诉大家,如何在 UWP 使用 win2d 做毛玻璃。毛玻璃可以使用 win2D 方法,也可以使用 Compositor 。使用 win2d 得到软件内控件毛玻璃,而使用 Compositor 可以获得窗口毛玻璃。
  • lindexi_gd
  • lindexi_gd
  • 2017-06-19 09:12
  • 2382

win10 uwp 随着数字变化颜色控件

我朋友在做一个控件,是显示异常,那么异常多就变为颜色,大概就是下面的图点击数字,颜色变化和数字大小是相同
  • lindexi_gd
  • lindexi_gd
  • 2016-09-01 10:42
  • 2456

win10 uwp iot

这篇文章主要译: https://msdn.microsoft.com/magazine/mt694090 有很多都是胡说,随便喷,但我不会理。
  • lindexi_gd
  • lindexi_gd
  • 2016-04-24 08:13
  • 5873
    个人资料
    • 访问:625025次
    • 积分:9166
    • 等级:
    • 排名:第2409名
    • 原创:240篇
    • 转载:16篇
    • 译文:25篇
    • 评论:240条
    博客专栏
    文章分类
    最新评论