当前位置:网站首页>WPF DataGrid using data templates
WPF DataGrid using data templates
2022-08-10 01:28:00 【flysh05】
1. 创建数据模型类
public class TestPointModel
{
public int Id {
get; set; }
public string TestPointName {
get; set; }
public DateTime TestDateTime {
get; set; }
public string Details
{
get
{
return $"{
Id} ,{
TestPointName} have tested on {
TestDateTime}";
}
}
}
2. UI设计
<DataGrid x:Name="dgTestPoints" Margin="5" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="ID" Binding="{Binding Id}" Width="50"/>
<DataGridTextColumn Header="PointName" Binding="{Binding TestPointName}" Width="120"/>
<DataGridTextColumn Header="DateTime" Binding="{Binding TestDateTime}" Width="200"/>
</DataGrid.Columns>
<!-- Visibility 属性 Visible,Collapsed,Hidden -->
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<TextBlock Margin=" 10" Visibility="Visible" Text="{Binding Details}"></TextBlock>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
</DataGrid>
Create a data source using data model classes,所以AutoGenerateColumns=“False”
使用DataGridTextColumn Binding model's property fields.
3.UI 后台代码
public MainWindow()
{
InitializeComponent();
dgTestPoints.ItemsSource = CreatDataSource();
}
//Create Data sorce for DataGrid Control show
private static List<TestPointModel> CreatDataSource()
{
List<TestPointModel> testPoints = new List<TestPointModel>();
testPoints.Add(new TestPointModel() {
Id = 1, TestPointName = "VoltageTest", TestDateTime = new DateTime(2022, 7, 23) });
testPoints.Add(new TestPointModel() {
Id = 2, TestPointName = "CurrentTest", TestDateTime = new DateTime(2022, 1, 17) });
testPoints.Add(new TestPointModel() {
Id = 3, TestPointName = "SwitchTest", TestDateTime = new DateTime(2022, 9, 2) });
return testPoints;
}
Create a data collection for the data model,绑定到DataGrid 的ItemsSource 属性.
显示效果如下:
边栏推荐
猜你喜欢
AUTOCAD——形位公差如何标注、CAD打断于点的操作
[Cloud native] Kubernetes orchestration tools
Digital wallets, red sea ecological rapid introduction of small programs can help capture device entry wisdom
服务发现@EnableDiscoveryClient
多商户商城系统功能拆解25讲-平台端分销申请
组件传值-作用域插槽
Description of AirFlow
下班后用微信处理工作时发病身亡,法院判决:工伤!
首席信息官如何将可持续性和技术结合起来
安全知识培训——消防安全
随机推荐
CAD 连接两个相交线
了解什么是架构基本概念和架构本质
CST Studio Suite 2021软件安装包和安装教程
CAD 绘制圆角处理
如何抑制告警风暴?
MQTT X Web:在线的 MQTT 5.0 客户端工具
【渗透工具】浏览器数据导出工具
新开窗口 展示协议
【剑指offer】第一题 第二题
mysql无法远程连接 Can‘t connect to MySQL server on ‘xxx.xxx.xxx.xxx‘ (10060 “Unknown error“)
Wireshark经典实践和面试13点总结
生成树和交换的总结
YOLOV5学习笔记(七)——训练自己数据集
上交所实时行情文件汇总
ECCV 2022 | Microsoft Open Source TinyViT: Pre-training Capabilities for Small Models
Wireshark classic practice and interview 13-point summary
NTP SERVICE TASK 在GWserver配置、启用NTP服务,为当前环境提供时钟同步服务,Client主机可以从该服务器同步时间。
【集训DAY4】询问【Hash】
分布式数据库难题(二):数据复制
KingbaseGIS Jin Cang database using manual (6.3. Geometric object creation function)