Win10 UI入门 pivot multiable DataTemplate

this is a dynamic pivot with sliderable navigation and multiableDatatemplate Control
看了 alexis 大哥的pivot 动态绑定,和 自己做了一个多模版带滑动导航条的控件
主要继承了DataTemplateSelector
实现 绑定ItemTemplateSelector="{TemplateBinding BodyDataTemplateSelector}"
主要代码
public class Media : DataTemplateSelector
{
protected override DataTemplate SelectTemplateCore(object item, DependencyObject container)
{
var media = (TestPivot)item;
DataTemplate template; switch (media.BodyItem.MediaType)
{
case Enums.Media.BOOK:
template = BookTemplate;
break;
case Enums.Media.GAME:
template = GameTemplate;
break;
case Enums.Media.MOVIE:
template = MovieTemplate;
break;
default:
template = BookTemplate;
break;
} return template;
} public DataTemplate BookTemplate { get; set; } public DataTemplate GameTemplate { get; set; } public DataTemplate MovieTemplate { get; set; }
}
<DataTemplate x:Key="BookDataTemplate">
<ListBox ItemsSource="{Binding BodyItem.ListData}" Margin="0,5,0,0" Background="Green">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</DataTemplate>
<DataTemplate x:Key="GameDataTemplate">
<Grid Background="Red" Height="">
<TextBlock Text="{Binding BodyItem.MediaItem}" Margin="0,5,0,0"/>
</Grid>
</DataTemplate>
<DataTemplate x:Key="MovieDataTemplate">
<Image Source="{Binding BodyItem.ItemImg}" Stretch="Uniform"/>
</DataTemplate> <selectors:Media x:Key="mediaDataTemplateSelector"
BookTemplate="{StaticResource BookDataTemplate}"
GameTemplate="{StaticResource GameDataTemplate}"
MovieTemplate="{StaticResource MovieDataTemplate}" />
<ctl:WYPanorama
HeaderDataTemplate="{StaticResource DT_HeaderMutil}"
HeaderDataItemsSource="{Binding BindData}"
BodyDataTemplateSelector="{StaticResource mediaDataTemplateSelector}"
BodyDataItemsSource="{Binding BindData}">
</ctl:WYPanorama>
Win10 UI入门 pivot multiable DataTemplate的更多相关文章
- Win10 UI入门窗口由默认500px to 320px
https://code.msdn.microsoft.com/Layout-for-windows-that-ba648e1c/ https://msdn.microsoft.com/library ...
- Win10 UI入门 SliderRectangle
看了@段博琼大哥导航滑动的思路,自己又做了一个类似与黄油相机里面的一个功能 <Grid x:Name="> <Grid.ColumnDefinitions> < ...
- Win10 UI入门 圆形控件
动态模版绑定 http://blog.csdn.net/XXChen2/article/details/4552554
- Win10 UI入门RelativePanel(2)
自适应 1) Gif: 添加动画 2)
- Win10 UI入门 RenderTransform属性分析之Translate 平移变形
对齐方式是中心底部对齐: HorizontalAlignment="Center" VerticalAlignment="Bottom" 以底部边为起始线,向上 ...
- Win10 UI入门RelativePanel
<RelativePanel Background="Black" > <Rectangle x:Name=" RelativePanel.AlignH ...
- Win10 UI入门 导航滑动条 求UWP工作
借鉴了 段博琼 大哥写的导航滑动,自己实现了一个类似安卓 IOS 导航滑动条 支持等比例 分割 tabView 支持动画滑动 效果如下图 WYGrid 你可以想象一个GridView itemsWr ...
- win10 uwp 修改Pivot Header 颜色
我们在xaml创建一个Pivot <Pivot Grid.Row="1"> <PivotItem Header="lindexi">&l ...
- jQuery UI 入门之实用实例分享
jQuery UI 入门 jQuery UI 简介 jQuery UI 是一个建立在 jQuery JavaScript 库上的小部件和交互库,您可以使用它创建高度交互的 Web 应用程序.无论您是创 ...
随机推荐
- auto_ftp_sh
#!/usr/bin/env python # -*- coding:utf-8 -*- import paramiko import time mydate = time.strftime( ...
- Javascript阻止表单提交
Javascript阻止表单提交 Html 1.<form name="loginForm" action="login.aspx" method=&qu ...
- js 或运算
表达式a && 表达式b : 计算表达式a(也可以是函数)的运算结果, 如果为 True, 执行表达式b(或函数),并返回b的结果: 如果为 False,返回a的结果: 表达式a || ...
- 优动漫PAINT如何打开图形文件
优动漫PAINT也就是我们常说的clip studio paint(CSP)的中文版本,在优动漫PAINT软件中打开文件的方式有很多,您可以直接拖拽至优动漫PAINT界面或者文档窗口,也可以执行文件菜 ...
- Robot Framework(三)创建测试用例
2.2.1测试用例语法 基本语法 测试用例由关键字在测试用例表中构建.关键字可以从测试库或资源文件导入,也可以在测试用例文件本身的关键字表中创建. 测试用例表中的第一列包含测试用例名称.测试用例从包含 ...
- Java常用类(I)-时间和日期
java开发中,常涉及到时间的处理,这里就做一个总结,同样也是一个笔记. 相关类及概念 1. java.util.Date:表示特定的瞬间,精确到毫秒.由于API 不易于实现国际化,日期和时间字段之间 ...
- C语言提高 (3) 第三天 二级指针的三种模型 栈上指针数组、栈上二维数组、堆上开辟空间
1 作业讲解 指针间接操作的三个必要条件 两个变量 其中一个是指针 建立关联:用一个指针指向另一个地址 * 简述sizeof和strlen的区别 strlen求字符串长度,字符数组到’\0’就结束 s ...
- 四种ASP网页跳转代码
时间:2012-06-12 21:12来源:未知 输入:铜都风尘 点击: 32987 次 如果你要在服务器端跳转,可以这样: Response.Redirect(http://blog.163.com ...
- 以checked选中作为判断条件的各种写法
<input type="radio" name="choice" id="ipt1"> <label for=" ...
- nyoj124-中位数
中位数 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 一组数据按从小到大的顺序依次排列,处在中间位置的一个数叫做中位数. 比如 1 5 10 11 9 其中位数就是9 ...