经常我们需要绑定的数据有多个,当添加到集合控件的对象类型结构比较复杂,我们希望自己来定义排版布局,这时可以使用ItemTemplate
用资源的定义
现在有数据
public class caddressBook
{
public caddressBook()
{
}
public string id
{
set;
get;
}
public string name
{
set;
get;
}
public string contact
{
set;
get;
}
public string address
{
set;
get;
}
public string city
{
set;
get;
}
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
public void modify()
{
var taddressBook = new caddressBook()
{
name = "张三" ,
contact = "2" ,
address = "中国" ,
city = " " ,
comment = " "
};
addressBook.Add(taddressBook);
}
代码:https://code.csdn.net/lindexi_gd/lindexi_gd/tree/master/observable_collection
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
分享到:
相关推荐
总结来说,"win10 uwp 轻量级 MVVM 框架入门 2.1.5.3199 例子"提供了一个实际操作的平台,让开发者学习如何在UWP环境中利用MVVM模式进行开发。通过分析和实践这个框架,你将能够更好地理解MVVM的工作原理,以及如何...
在Windows 10 UWP应用开发中,常常需要创建一种用户友好的交互方式,即当用户右键点击某个元素时,能在一个特定的位置显示一个浮出菜单(MenuFlyout)。本篇文章将详细介绍如何使用C#实现这样的功能,使得MenuFlyout...
在C#和XAML中,数据绑定是基于WPF(Windows Presentation Foundation)和UWP(Universal Windows Platform)的数据绑定概念,用于简化UI和业务逻辑之间的通信。XAML(Extensible Application Markup Language)是...
【描述】提到的"一个uwp开发源码,可以移植到一切win10系统"意味着该项目遵循了UWP的跨平台特性,使得开发者能够在不同类型的Windows 10设备上部署和运行同一套代码。UWP是微软为了统一Windows生态而推出的新开发...
依赖属性(DependencyProperty)可以方便地实现UI元素与后台数据的双向绑定,当主题改变时,依赖属性的更改会自动反映到UI上。 5. **代码-behind处理**:在C#代码中,可以编写事件处理程序来监听用户的主题切换操作...
使用XAML,开发者可以轻松地定义控件布局、样式和数据绑定。在UWP项目中,Xamarin.Forms的XAML遵循UWP XAML的语法规则,可以利用丰富的UWP控件库,如FlyoutPage、SplitView等,来实现现代化的界面设计。 5. **依赖...
3. **绑定与数据上下文**:在UWP中,我们可以使用数据绑定将UI控件与C#后台代码中的数据关联起来。数据上下文(DataContext)是实现这一点的关键,它将整个视图与数据模型关联,使得UI更新随着数据的变化自动发生。 ...
在“UWP-Demo”中,可以看到各种XAML控件如按钮、文本框、图像等的用法,以及如何通过数据绑定将UI与后台逻辑关联起来。XAML允许开发者声明式地创建用户界面,提高开发效率。 **3. C#在UWP中的应用** 作为主要的...
在数据服务上实现CRUD的最小MVVM UWP应用随着Win 10和Universal Windows应用程序的引入,我想尝试一些新的XAML功能,例如使用x:Bind进行编译时绑定。 首先,我环顾了一个非常简单的通用Windows平台(UWP)示例,该...
在UWP中,这通常通过数据绑定机制实现,增强了用户界面的动态性和响应性。 "继续在DailyJournal应用程序上进行SoC"指的是遵循单一职责原则(Single Responsibility Principle, SoC)。这意味着每个类或组件应专注于...
10. **安全与权限**:Win32 API提供了访问控制和安全描述符的管理,例如`CreateMutex`创建互斥体以实现线程同步,`GetSecurityInfo`和`SetSecurityInfo`用于获取和设置对象的安全属性。 Win32 API是一个庞大的接口...
此外,UWP还提供了丰富的API集,如数据绑定、命令模式、资源管理、样式和模板等,这些都是构建高效且美观的UWP应用所必需的技能。开发者还需要了解如何使用Visual Studio IDE进行调试、测试和发布应用。 总结来说,...
3. **数据绑定**:利用UWP的数据绑定机制,可以将日记数据模型与PivotItem的内容关联起来,实现数据驱动的界面更新。这通常涉及到定义一个ViewModel类,以及在XAML中设置DataContext。 4. **焦点管理**:在UWP中,...
以下内容将详细介绍Windows 10的通用Windows平台(UWP)的开发,包括但不限于XAML基础、布局设计、用户交互、样式、资源和主题、图形、变换和动画、数据绑定、导航和窗口管理以及动态磁贴和通知等方面的开发技术。...
Calcium是一个轻量级的框架,为.NET开发者提供了方便的数据绑定、依赖属性和命令等功能,特别适用于UWP、XAML和MVVM(Model-View-ViewModel)架构。 描述中提到的“同步和异步表单验证”是指在用户输入数据时,应用...
在Windows 8应用程序开发中,JavaScript(数据)绑定是一个关键概念,它允许UI元素与后台数据模型进行直接关联,从而实现动态更新。本教程将深入探讨如何使用WinJS框架进行数据绑定,以便在Windows 8应用中创建更...