首页 > 其他分享 >WPF中如何使用后台代码动态创建数据模板(DataTemplate)

WPF中如何使用后台代码动态创建数据模板(DataTemplate)

时间:2024-08-22 11:48:48浏览次数:5  
标签:Name list 动态创建 Student new WPF 数据 DataTemplate 模板

数据模板回顾 

在WPF中数据模板可以控制数据的呈现方式。

对于一些简单的数据,例如一个string,一个int,在显示时,无须额外控制 。

但是对于复杂数据类型,就需要使用数据模板来控制数据的呈现方式。

 

一个很简单的例子

假设 我们定义了一个学生类

1     public class Student
2     {
3         public int Id { get; set; }
4 
5         public string Name { get; set; }
6     }

 

然后定义了一个学生列表,并绑定到ListBox

1   var list = new List<Student>();
2   list.Add(new Student() {Id = 1,Name = "意在" });
3   list.Add(new Student() { Id = 2, Name = "奎文" });
4 
5   this.list1.ItemsSource = list;

 

在未使用数据模板前,显示的效果如下:

1  <ListBox Name="list1"></ListBox>

 

使用了数据模板,显示效果如下:

 1     <ListBox Name="list2" Grid.Row="1">
 2         <ListBox.ItemTemplate>
 3             <DataTemplate>
 4                 <WrapPanel>
 5                     <Label Content="{Binding Id}" FontWeight="Bold" FontSize="20"></Label>
 6                     <Label Content="{Binding Name}" FontFamily="Arial"></Label>
 7                 </WrapPanel>
 8             </DataTemplate>
 9         </ListBox.ItemTemplate>
10     </ListBox>

 

如何动态创建数据模板

 

标签:Name,list,动态创建,Student,new,WPF,数据,DataTemplate,模板
From: https://www.cnblogs.com/zhaotianff/p/18373554

相关文章

  • 「对比评测」标准WPF DataGrid与DevExpress WPF GridControl有何不同?(一)
    DevExpressWPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpressWPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。无论是Office办公软件的衍伸产品,还是以数据为中心......
  • WPF:MVVM的由来与属性绑定的过程
    WPF:MVVM的由来与属性绑定的过程1、MVVM(1)MVVM是什么?​ MVVM(Model-View-ViewModel)是一种软件架构设计模式MVVM模式。有助于分离应用程序的业务逻辑和用户界面层,使得开发过程更易于管理,同时也便于单元测试。Model?现实世界中对象的抽象结果。View?View=UI。ViewModel?Vie......
  • 【WPF】WPF项目.exe可执行文件在非开发环境打不开
    如题,做一个小工具,开发完之后把bin/release文件夹打包发他,但在他电脑打不开。打开可靠性监视器:按下Win+S,在搜索栏中输入“控制面板”,然后点击进入。在控制面板中选择“系统和安全”。然后选择“安全与维护”。在“安全与维护”窗口中,展开“维护”部分,并点击“查看可靠性......
  • WPF:静态、动态资源以及资源词典
    WPF:静态、动态资源以及资源词典静态资源与动态资源我们常常会使用样式或者控件模板放在Window.Resources中,比如这样:静态资源与动态资源使用如下:<Window.Resources><SolidColorBrushx:Key="SolidColor"Color="#FF0000"/></Window.Resources><Grid><StackPanel......
  • WPF:数据模板
    WPF:DataTemplate在XAML界面当中编写的任何代码,其实本质上都是转化成C#代码,既然如此来说,只要XAML有的对象,我们都可以用C#代码编写,但是为什么一般我们不这么做,是因为XAML更加容易去表达界面上的元素,代码的可视化以及可维护性。需求:当我想要在ListBox或者DataGridView......
  • WPF中的视觉树(VisualTree)和逻辑树(LogicalTree)
    可视化树和逻辑树我们先来理解一下什么是可视化树和逻辑树。通俗点来说,可视化树就是在XAML中定义的或者代码添加的元素组成的树。就像下面这样1<Grid>2<ButtonHorizontalAlignment="Center"VerticalAlignment="Center"Content="点击我"Click="Button_Click"><......
  • WPF Window窗体隐藏标题栏
    一、Window窗体隐藏标题栏1.当想弹出一个窗口的时候,一般会使用ShowDialog()方法,但是Page和UserControl页面没有ShowDialog()方法,那就只能用Window界面,但某些窗口不需要标题栏。使用以下代码隐藏标题栏,同时把标题栏高度设置为0。CaptionHeight属性不为0时,标题栏......
  • SimpleRAG:基于WPF与Semantic Kernel实现的一个简单的RAG应用
    SimpleRAG介绍SimpleRAG是基于WPF与SemanticKernel实现的一个简单的RAG应用,可用于学习与理解如何使用SemanticKernel构建RAG应用。GitHub地址:https://github.com/Ming-jiayou/SimpleRAG主要功能AI聊天支持所有兼容OpenAI格式的大语言模型:文本嵌入支持所有兼容OpenAI格式......
  • WPF 类型转换器的实现
    1、MainWindow.xaml<Windowx:Class="WpfApplication1.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:sys=&qu......
  • .NET+WPF 桌面快速启动工具 GeekDesk
    前言大家在平时工作中,是不是经常为了找某个文件或者应用而在电脑桌面上来回翻找?桌面图标乱七八糟,每次找东西都像在大海捞针一样。今天给大家介绍一个开源项目GeekDesk,它能够让桌面焕然一新,工作效率翻倍!GeekDesk是一个小巧、美观的桌面快速启动工具,它集成了强大的搜索功能,让我......