每天进步一点点-WPF-根据数据类型加载控件
目的,根据数据类型的不同,动态的加载适用于不同数据类型的控件(布局)
原理:为自定义的数据类型添加数据魔板,绑定的时候绑定这些数据类型的实例。
例子:
数据类型:

数据模板:
<DataTemplate DataType="{x:Type scparam:ScriptStringParam}">
        <ContentControl Height="{Binding ItemHeight}">
            <Grid >
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="0.5*"/>
                    <ColumnDefinition Width="*"/>
                </Grid.ColumnDefinitions>
                <TextBlock Text="{Binding Description}" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5,0"></TextBlock>
                <TextBox Grid.Column="1"  Text="{Binding Value}" VerticalAlignment="Center" HorizontalAlignment="Stretch" Margin="5,0"></TextBox>
            </Grid>
        </ContentControl>
    </DataTemplate>
  <DataTemplate DataType="{x:Type scparam:ScriptDoubleParam}">
	.....
</DataTemplate>
Xmal调用集合作为数据源:
后台定义的数据源:
 public List<ScriptParam> ScriptParams
        {
            get { return _ScriptParams; }
            set { _ScriptParams = value; OnPropertyChanged("ScriptParams"); }
        }
使用效果:后续补充
每天进步一点点-WPF-根据数据类型加载控件的更多相关文章
- 使用 WPF 创建预加载控件
		Introduction At the time when WPF applications do a very long process like getting response from a w ... 
- 发布我的图片预加载控件YPreLoadImg v1.0
		介绍 大家好!很高兴向大家介绍我的图片预加载控件YPreLoadImg.它可以帮助您预加载图片,并且能显示加载的进度,在预加载完成后调用指定的方法. YPreLoadImg控件由一个名为PreLoad ... 
- WinForm的延时加载控件概述
		这篇文章主要介绍了WinForm的延时加载控件,很实用的技巧,在C#程序设计中有着比较广泛的应用,需要的朋友可以参考下 本文主要针对WinForm的延迟加载在常用控件的实现做简单的描述.在进行C# ... 
- 解决tableView中cell动态加载控件的重用问题
		解决tableView中cell动态加载控件的重用问题 tableView的cell,有时候需要在运行时取得对应的数据后才能够动态的创建该cell中的控件并加载到该cell中,此时,你一定会遇到重用问 ... 
- uGUI动态加载控件位置错误
		最近在使用uGUI时遇到了一个问题,在此记录一下.在Canvas的Render Mode设置为Screen Space-Overlay模式时,动态加载控件是不会发生问题的.但是在Screen Spac ... 
- uGUI动态加载控件位置错误(转自:https://www.cnblogs.com/mezero/p/4542939.html)
		最近在使用uGUI时遇到了一个问题,在此记录一下.在Canvas的Render Mode设置为Screen Space-Overlay模式时,动态加载控件是不会发生问题的.但是在Screen Spac ... 
- ListView 刷新加载控件
		1.MaterialRefreshLayout刷新加载: 导入依赖: compile 'com.cjj.materialrefeshlayout:library:1.3.0' 布局 <com.c ... 
- [iOS微博项目 - 1.8] - 各种尺寸图片加载 & 控件不显示研究
		A. 图片的加载: [UIImage imageNamed:@"home"]; 加载png图片 一.非retina屏幕 1.3.5 inch(320 x 480) * ... 
- air mobile andriod ios 页面加载控件
		通过最近的研究flex 书写android .ios申请书,我们遇到了一个问题加载页面,我们用flex sdk 12,air 15 无级似android ListView寻呼模块.所以,我和我的同事们 ... 
随机推荐
- 前端,用js根据一个对象,去除另个对象中重复的元素
			这里的应用场景是,两个div盛放待选项目和已选项目,如下图 <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6"> < ... 
- 【sql】牛客网练习题 (共 61 题)
			[1]查找最晚入职员工的所有信息 CREATE TABLE `employees` ( `emp_no` ) NOT NULL, `birth_date` date NOT NULL, `first_ ... 
- PHP构建一句话木马
			构建一句话木马,密码为simple: url/search.php?searchtype=5&tid=&area=eval($_POST[simple]) 之后使用菜刀进行链接,密码为 ... 
- Ubuntu系统管理systemd
			systemctl命令 systemctl list-units - 列出所有jobs/serviceList all units (where unit is the term for a job/ ... 
- JS时间差(毫秒/天数/月份)
			var startDate = "2016-06-06"; var endDate = "2016-08-08"; var start=new Date(sta ... 
- access注入篇+sqlmap
			access数据库的来历,我就不说了,因为我懒的记,就算记了感觉上也没大多用处,只要记得数据库的结构就行了.先是表名,然后是列名,再者就是数据,我发个实际的图吧,大概就是这么一个结构. 下面,开始说下 ... 
- NAT和路由器 基本概念
			NAT(Network Address Translation, 网络地址转换)是1994年提出的.当在专用网内部的一些主机本来已经分配到了本地IP地址(即 仅在本专用网内使用的专用地址),但现在又想 ... 
- Qt 线程基础(QThread、QtConcurrent、QThreadPool等)
			使用线程 基本上有种使用线程的场合: 通过利用处理器的多个核使处理速度更快. 为保持GUI线程或其他高实时性线程的响应,将耗时的操作或阻塞的调用移到其他线程. 何时使用其他技术替代线程 开发人员使 ... 
- Ubuntu下设置静态网址
			百度上找的图形界面下设置方式: 因为我这里的ubuntu版本是14.10版本 所以我先点击[系统设置],它位置在桌面左侧的菜单栏后面位置. 在系统设置页面,找到[硬件]选项里面的[网络]一项 然后再使 ... 
- Java-Class-E:org.springframework.http.HttpStatus
			ylbtech-Java-Class-E:org.springframework.http.HttpStatus 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 1. /* * C ... 
