当前位置: 首页 > news >正文

淘宝客一定要建立网站宁波seo费用

淘宝客一定要建立网站,宁波seo费用,网站调用优酷视频去除广告,2017年政府网站集约化建设DataTemplate 顾名思义&#xff0c;数据模板&#xff0c;在 wpf 中使用非常频繁。 它一般用在带有 DataTemplate 依赖属性的控件中&#xff0c;如 ContentControl、集合控件 ListBox、ItemsControl 、TabControls 等。 1. 非集合控件中使用 <UserControl.Resources>&l…

DataTemplate 顾名思义,数据模板,在 wpf 中使用非常频繁。

它一般用在带有 DataTemplate 依赖属性的控件中,如 ContentControl、集合控件 ListBox、ItemsControl 、TabControls 等。

1. 非集合控件中使用

<UserControl.Resources><DataTemplate x:Key="MyDataTemplate"><GridWidth="100"Height="40"Background="DeepPink" /></DataTemplate>
</UserControl.Resources>

在前端代码中,应用这个数据模板,

<ContentControl ContentTemplate="{StaticResource MyDataTemplate}" />

显示如下:
在这里插入图片描述

2. 集合控件中使用

以 ListBox 为例,

假设 ListBox 绑定数据源为下面的 MyItems ,

public class DataTemplateViewModel
{public IList<string> MyItems { get; }public DataTemplateViewModel(){MyItems = new List<string>() { "Tom~", "Jerry~"};}
}
<ListBoxGrid.Column="1"ItemsSource="{Binding MyItems}" />

在不设置数据模板的情况下,默认就是显示字符串,
在这里插入图片描述
新增一个数据模板,

<UserControl.Resources><DataTemplate x:Key="MyDataTemplate"><GridWidth="100"Height="40"Background="DeepPink"><TextBlock Text="{Binding .}" Foreground="Yellow" /></Grid></DataTemplate>
</UserControl.Resources>

并应用该模板后,

<ListBoxGrid.Column="1"ItemTemplate="{StaticResource MyDataTemplate}"ItemsSource="{Binding MyItems}" />

显示为,
在这里插入图片描述
通过上面的例子,我们可以知道,数据模板,可以用来自定义数据展示的方式,包括:格式、效果、样式等。

3. DataTempate 其它用法

3.1 自动匹配数据类型

上面演示的集合中使用 DataTemplate 的方式,数据类型相对简单。实际开发中经常要根据不同数据类型,展示不同数据样式。

假设申明一个图形接口,

public interface IShape
{string Color { get; }
}

一个圆、矩形类各自实现该接口,

public class Circle : IShape
{public string Color { get; }public Circle(string color){Color = color;}
}public class Rectange : IShape
{public string Color { get; }public Rectange(string color){Color = color;}
}

集合 Shapes 中包含这些图形实例,

public class DataTemplateViewModel
{public IList<IShape> Shapes { get; }public DataTemplateViewModel(){Shapes = new List<IShape>(){new Circle("#CC0066"),new Rectange("#009900"),};}
}

设置 DataTemplate 的 DataType 属性(不设置 x:key),就可以根据图形类型,自动应用对应数据模板,

<ListBoxGrid.Column="1"ItemsSource="{Binding Shapes}"><ListBox.Resources><DataTemplate DataType="{x:Type views:Circle}"><Ellipse Width="60" Height="60" Fill="{Binding Color}" /></DataTemplate><DataTemplate DataType="{x:Type views:Rectange}"><Rectangle Width="60" Height="60" Fill="{Binding Color}" /></DataTemplate></ListBox.Resources>
</ListBox>

效果如下,
在这里插入图片描述

3.2 DataTemplateSelector

使用 DataTemplateSelector (模板选择器)也可以同样实现上面的效果。

我们只需要继承 DataTemplateSelector 类,并重载其 SelectTemplate 方法,

public class MyDataTemplateSelector : DataTemplateSelector
{public DataTemplate CircleTemplate { get; set; }public DataTemplate RectTemplate { get; set; }public DataTemplate EmptyTemplate { get; set; }public override DataTemplate SelectTemplate(object item, DependencyObject container){if (item is Circle){return CircleTemplate;}else if (item is Rectange){return RectTemplate;}return EmptyTemplate;}
}

数据模板 + 选择器 前端定义,这时就要设置 DataTemplate 的 x:key 了,

<UserControl.Resources><DataTemplate x:Key="Circle.DataTemplate"><Ellipse Width="60" Height="60" Fill="{Binding Color}" /></DataTemplate><DataTemplate x:Key="Rectangle.DataTemplate"><Rectangle Width="60" Height="60" Fill="{Binding Color}" /></DataTemplate><DataTemplate x:Key="Empty.DataTemplate"><Grid Width="60" Height="60" Background="Black" /></DataTemplate><views:MyDataTemplateSelector x:Key="MyDataTemplateSelector" CircleTemplate="{StaticResource Circle.DataTemplate}"RectTemplate="{StaticResource Rectangle.DataTemplate}" EmptyTemplate="{StaticResource Empty.DataTemplate}" />
</UserControl.Resources>

应用选择器,

<ListBoxGrid.Column="1"ItemTemplateSelector="{StaticResource MyDataTemplateSelector}"ItemsSource="{Binding Shapes}">
</ListBox>

新增一个 null 元素配合实验,

Shapes = new List<IShape>()
{new Circle("#CC0066"),new Rectange("#009900"),null,
};

显示效果,
在这里插入图片描述

http://www.hengruixuexiao.com/news/46606.html

相关文章:

  • 重庆网站建设公司海口深圳搜索引擎
  • 房产o2o网站建设最新网域查询入口
  • wordpress 数据库管理站长之家seo查找
  • 哪些网站是用asp.net做的sem竞价托管多少钱
  • 网站做的是哪方面的内容上海最近3天疫情情况
  • 网站推荐靠谱的懂得免费银行营销技巧和营销方法
  • 网站备案app百度网站分析
  • 淘客怎么做自己的网站免费个人网站空间
  • 六安网站制作短视频精准获客系统
  • 上海建设工程学校网站人脉推广app
  • 官方制作网站360搜索引擎的特点
  • 南宁美丽南方官方网站建设意见成人技能培训班有哪些
  • 网页设计师证书考试内容杭州seo搜索引擎优化
  • 建设网站会员品牌营销案例分析
  • 做网站 先备案么数字营销服务商seo
  • 扬州网站建设推广专家百度怎么发帖做推广
  • 有网站模板如何预览站长工具网站推广
  • 做试卷的网站宁波优化推广选哪家
  • 广州高端网站建设定制宁德市旅游景点大全
  • 大型网站建设公司 北京小红书怎么推广引流
  • 石家庄最新疫情消息合肥建站公司seo
  • 广州企业网站建设合肥seo整站优化网站
  • 丰台区的建设网站关键词热度分析工具
  • 桂林疫情防控措施青岛seo杭州厂商
  • 嵌入式培训心得体会吉林seo外包
  • 怎样做网站认证网络营销的基本方法
  • 建网站义乌唯尚广告联盟app下载
  • 服务品牌策划方案廊坊seo网站管理
  • 优购物官方网站直播成都网站建设企业
  • 网站正在建设中php百度推广托管公司