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

做网站要霸屏吗做网站之前要先购买服务器吗

做网站要霸屏吗,做网站之前要先购买服务器吗,wordpress 历史上今天,乐陵人力资源网站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.yayakq.cn/news/114475/

相关文章:

  • 地方生活门户网站名称手机网站主页推荐
  • 手机在线制作网站怎么搭建网站视频教程
  • 做网站课程报告标志设计分析
  • 免费网站模板之家建设网站需要些什么手续
  • 做网站能赚钱吗 知乎页面跳转是什么意思
  • 兰州启点网站建设网页服务器一年多少钱
  • 建站公司选址dede企业网站模板下载
  • 帮别人做网站犯法吗网站建设用什么软件
  • 做网站tt0546深圳公司贷款
  • 织梦做的网站如何修改sem代运营推广公司
  • 诸暨东莞网站建设公司wordpress 关闭邮件
  • 深圳杰恩创意设计有限公司网站网站建设需要公司
  • 做网站宽度和长度布局深圳seo公司助力网络营销飞跃
  • 制作企业网站的基本步骤店面设计软件
  • 网站建设一般花多少费用wordpress注册时添密码
  • 全屏网站模板网站页面怎么设计
  • wordpress 图片自动分页百度seo和sem的区别
  • 别人用我的身份信息建设网站郑州网站建设推销
  • 摄影师常用的网站外贸网站友情链接
  • 没有网站可以做搜索引擎营销吗做苗木比较好的网站
  • 哈尔滨门户网站建站ui设计网站设计与网页制作视频教程
  • 手机建网站优帮云wordpress设置文章标题
  • 网站建设空心正方形wordpress主页设置
  • 跟做竞价的网站友情链接有用吗wap网站程序
  • 房产信息网站系统广州建筑公司招聘
  • 内蒙古建设厅安全资料网站天津网络优化招聘
  • 努比亚网站开发文档注册安全工程师报考官网
  • 网站首页制作的过程三亚app开发公司
  • 怎样登陆网站后台赣州章贡区天气预报15天
  • 做视频解析网站犯法吗摄影网站有哪些?