论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
物联网
›
物联网
›
WPF计划尺度学习记载19
WPF计划尺度学习记载19
王柳
论坛元老
|
2025-4-9 04:16:47
|
显示全部楼层
|
阅读模式
楼主
主题
1892
|
帖子
1892
|
积分
5676
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
public class Sentence : ObservableObject
{
private string content;
public string Content
{
get { return content; }
set { content = value; RaisePropertyChanged(); }
}
}
复制代码
public class MainViewModel : ObservableObject
{
private ObservableCollection<Sentence> poetries = new ObservableCollection<Sentence>();
public ObservableCollection<Sentence> Poetries
{
get { return poetries; }
set { poetries = value; RaisePropertyChanged(); }
}
public MainViewModel()
{
Poetries.Add(new Sentence() { Content = "汉皇重色思倾国,御宇多年求不得。" });
Poetries.Add(new Sentence() { Content = "杨家有女初长成,养在深闺人未识。" });
Poetries.Add(new Sentence() { Content = "天生丽质难自弃,一朝选在君王侧。" });
Poetries.Add(new Sentence() { Content = "回眸一笑百媚生,六宫粉黛无颜色。" });
Poetries.Add(new Sentence() { Content = "春寒赐浴华清池,温泉水滑洗凝脂。" });
Poetries.Add(new Sentence() { Content = "侍儿扶起娇无力,始是新承恩泽时。" });
Poetries.Add(new Sentence() { Content = "云鬓花颜金步摇,芙蓉帐暖度春宵。" });
}
}
复制代码
// 视图模型基类继承(实现INotifyPropertyChanged接口)
public class MainViewModel : ObservableObject
{
// 诗句集合存储字段(使用ObservableCollection实现动态UI更新)
private ObservableCollection<Sentence> poetries = new ObservableCollection<Sentence>();
/// <summary>
/// 诗歌集合属性(双向绑定到UI列表控件)
/// 技术特性:
/// 1. 动态集合变更通知(自动触发UI重绘)
/// 2. 线程安全操作(通过BindingOperations.EnableCollectionSynchronization)
/// </summary>
public ObservableCollection<Sentence> Poetries
{
get { return poetries; }
// 属性变更时自动通知视图层(触发RaisePropertyChanged事件)
set { poetries = value; RaisePropertyChanged(); }
}
/// <summary>
/// 视图模型构造函数(数据初始化)
/// 最佳实践建议:
/// 1. 大数据量时应采用异步加载(async/await模式)
/// 2. 生产环境建议从数据库/API获取数据
/// </summary>
public MainViewModel()
{
// 初始化《长恨歌》诗句(白居易代表作,共7句示例)
Poetries.Add(new Sentence() { Content = "汉皇重色思倾国,御宇多年求不得。" }); // 开篇点明主题
Poetries.Add(new Sentence() { Content = "杨家有女初长成,养在深闺人未识。" }); // 杨玉环出场铺垫
Poetries.Add(new Sentence() { Content = "天生丽质难自弃,一朝选在君王侧。" }); // 命运转折点描写
Poetries.Add(new Sentence() { Content = "回眸一笑百媚生,六宫粉黛无颜色。" }); // 经典容貌描写手法
Poetries.Add(new Sentence() { Content = "春寒赐浴华清池,温泉水滑洗凝脂。" }); // 奢华宫廷生活场景
Poetries.Add(new Sentence() { Content = "侍儿扶起娇无力,始是新承恩泽时。" }); // 含蓄的情感表达
Poetries.Add(new Sentence() { Content = "云鬓花颜金步摇,芙蓉帐暖度春宵。" }); // 服饰与场景的意象组合
}
}
复制代码
<Grid>
<Border
BorderBrush="#DFDFDF"
BorderThickness="1"
CornerRadius="5"
Margin="10">
<ListBox ItemsSource="{Binding Poetries}" >
<ListBox.ItemTemplate>
<DataTemplate>
<Border>
<TextBlock Text="{Binding Content}"
FontSize="14"
Margin="10 5 10 5"/>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.Style>
<Style TargetType="ListBox">
<Setter Property="Focusable" Value="False"/>
<Setter Property="Padding" Value="0"/>
<Setter Property="Margin" Value="0"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderBrush" Value="Transparent"/>
<Setter Property="ItemContainerStyle">
<Setter.Value>
<Style TargetType="ListBoxItem">
<Setter Property="Height" Value="40"/>
<Setter Property="Template">
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
王柳
论坛元老
这个人很懒什么都没写!
楼主热帖
Keytool配置 Tomcat的HTTPS双向认证 ...
【小程序】图解小程序平台架构及其特征 ...
校园网组网方案的设计
太方便了,钉钉上就可完成代码发布审批 ...
NSIS官方认证插件集成安装包 ...
[网鼎杯 2020 朱雀组]Think Java——wp ...
利用Python生成随机密码,灰常简单 ...
Ansible 学习笔记 - 批量巡检站点 URL ...
Google Earth Engine(GEE)——Kmeans ...
机加工行业MES系统模具行业MES系统CNCl ...
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
网络安全
Oracle
SQL-Server
数据仓库与分析
移动端开发
主机安全
IOS
公有云
Postrge-SQL技术社区
开源技术
快速回复
返回顶部
返回列表