当前位置:网站首页>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 属性.
显示效果如下:
边栏推荐
- Linux安装Oracle和postgrepSQL数据库
- 【集训DAY5】快速排序【模拟】【数学】
- 构建平衡二叉树「建议收藏」
- In-depth understanding of multithreading (Part 1)
- 直播平台怎么搭建,原生js实现编辑器撤消/恢复功能
- NTP SERVICE TASK 在GWserver配置、启用NTP服务,为当前环境提供时钟同步服务,Client主机可以从该服务器同步时间。
- Eureka protects itself
- Dry goods!Towards robust test-time adaptation
- 服务发现@EnableDiscoveryClient
- Qt 之 QDateEdit 和 QTimeEdit
猜你喜欢
随机推荐
【集训DAY3】挖金矿【二分答案】
今日睡眠质量记录61分
工程 (七) ——PolarSeg点云语义分割
HStreamDB v0.9 发布:分区模型扩展,支持与外部系统集成
如何抑制告警风暴?
AppUser object extension based on ABP
《GB5084-2021》PDF下载
【集训DAY3】阶乘【数学】
直播app开发搭建,flutter 实现自适应、自动换行、相对布局
61.【快速排序法详解】
蔚来杯2022牛客暑期多校训练营7 CFGJ
CMake使用记录
数据库的备份与恢复「建议收藏」
YOLOV5学习笔记(七)——训练自己数据集
MQTT X Web:在线的 MQTT 5.0 客户端工具
十位时间戳转化成时间
服务发现@EnableDiscoveryClient
Dry goods!Towards robust test-time adaptation
经济衰退即将来临前CIO控制成本的七种方法
Travel with Shengteng: See all the AI attractions in Jinling City in one day