社区
组件/控件开发
帖子详情
WPF 编程 UI 部分如何做到单元化模块化
alphapaopao
2012-03-15 03:38:54
我刚入门。
所有的 UI 都在 <Window> 结点下。比如主界面,显示库存,编辑一件货物,入库等等。
所有 cs 代码也都在 class MainWindow 里。很混乱啊。有没有办法做到单元化,模块化?比如,库存显示的 XAML 和 cs 代码独立出来。
谢谢!
...全文
430
17
打赏
收藏
WPF 编程 UI 部分如何做到单元化模块化
我刚入门。 所有的 UI 都在 结点下。比如主界面,显示库存,编辑一件货物,入库等等。 所有 cs 代码也都在 class MainWindow 里。很混乱啊。有没有办法做到单元化,模块化?比如,库存显示的 XAML 和 cs 代码独立出来。 谢谢!
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
alphapaopao
2012-03-22
打赏
举报
回复
经过试验,我绕过了sizing 问题。我纯粹采用 UserControl,而不用 PRISM,就没有我提到的 sizing 问题了。不过为了追求技术,我还是打算开一个贴讨论这个问题。帖子在这里 http://topic.csdn.net/u/20120322/10/976b63dd-d5c9-46ad-80f4-cd52825b8525.html
[Quote=引用 15 楼 alphapaopao 的回复:]
目前我学习 PRISM 还不够深入。不过不着急,慢慢来。
我还遇到了一个 sizing 的问题。我准备另开帖子。
UserControl 中的一个 ListView,其大小没有收到 parent 的控制,被 ListView 中的 items 撑得很大,而且不出现滚动条。
[/Quote]
alphapaopao
2012-03-22
打赏
举报
回复
或许我紧紧用 UserControl 就可达到我需要的 GUI 模块化。PRISM 对我来说大炮打蚊子了。
白色的海
2012-03-21
打赏
举报
回复
目前比较流行的用于WPF的结构式MVVM,建议好好看看。
这个结构将UI和代码分离的比较干净,对构建模块化,界面代码分离的应用程序框架很有帮助。
alphapaopao
2012-03-21
打赏
举报
回复
@kongxh
是不是不用 PRISM 这一套,直接用 UserControl 也可实现 GUI 模块化?
alphapaopao
2012-03-21
打赏
举报
回复
目前我学习 PRISM 还不够深入。不过不着急,慢慢来。
我还遇到了一个 sizing 的问题。我准备另开帖子。
UserControl 中的一个 ListView,其大小没有收到 parent 的控制,被 ListView 中的 items 撑得很大,而且不出现滚动条。
白色的海
2012-03-21
打赏
举报
回复
[Quote=引用 8 楼 alphapaopao 的回复:]
kongxh 说的在理。PRISM 的确可以实现 MVVM。参见文档 http://msdn.microsoft.com/en-us/library/gg405484(v=pandp.40).aspx 。
不过呢,我的核心问题是 GUI 模块化。
总算有一个人回答,还算沾边。
[/Quote]
GUI的模块化,我这里是将画面上的各部分按照功能使用UserControl做成独立的几个view,关键就是解决好各个view之间的互操作问题,可以用事件,命令。
仅仅是个人方法,可以讨论讨论哦。
alphapaopao
2012-03-21
打赏
举报
回复
kongxh 说的在理。PRISM 的确可以实现 MVVM。参见文档 http://msdn.microsoft.com/en-us/library/gg405484(v=pandp.40).aspx 。
不过呢,我的核心问题是 GUI 模块化。
总算有一个人回答,还算沾边。
一个破人
2012-03-21
打赏
举报
回复
http://www.cnblogs.com/liulun/archive/2012/03/16/2399654.html
alphapaopao
2012-03-21
打赏
举报
回复
请讲讲 PRISM 你遇到了什么样的问题?
thanks!
[Quote=引用 11 楼 kongxh_1981 的回复:]
PRISM松散性是比较好,但任何框架用起来都会受到一定的限制,刚开始弄我也吃了些苦头。
对于一些不大的软件用UserControl+事件+command+绑定,可以实现GUI模块化。
自由度比较大,也能实现一定程度的松散性,要做到完全松散,也是需要一定的时间,因为很多问题,作了一段时间才会知道。
[/Quote]
冰镇宝贝321
2012-03-21
打赏
举报
回复
[Quote=引用 11 楼 kongxh_1981 的回复:]
PRISM松散性是比较好,但任何框架用起来都会受到一定的限制,刚开始弄我也吃了些苦头。
对于一些不大的软件用UserControl+事件+command+绑定,可以实现GUI模块化。
自由度比较大,也能实现一定程度的松散性,要做到完全松散,也是需要一定的时间,因为很多问题,作了一段时间才会知道。
[/Quote]
貌似很有道理唉
白色的海
2012-03-21
打赏
举报
回复
PRISM松散性是比较好,但任何框架用起来都会受到一定的限制,刚开始弄我也吃了些苦头。
对于一些不大的软件用UserControl+事件+command+绑定,可以实现GUI模块化。
自由度比较大,也能实现一定程度的松散性,要做到完全松散,也是需要一定的时间,因为很多问题,作了一段时间才会知道。
alphapaopao
2012-03-20
打赏
举报
回复
另外告诉你们,PRIS 技术不需要建立新的 DLL,便可将 GUI 模块化。
你们回答个问题也得有起码的技术道德。你们得做了功课,才好意思出来回答问题吧?
alphapaopao
2012-03-20
打赏
举报
回复
艹
你们都别JB瞎掰了。
好好去学学 PRISM 吧 http://msdn.microsoft.com/en-us/library/gg430868(v=pandp.40).aspx
一个做技术的用百度?你不用 Google?用 WPF 的,你不搜 MSDN?
一个破人
2012-03-20
打赏
举报
回复
类库啊,你不懂吗???
百度一下啊。
一个类库就是一个dll文件,也就是你的一个单元。主程序可以调用它。
alphapaopao
2012-03-16
打赏
举报
回复
楼上可以说说具体的么?我正在看 PRISM。
EnForGrass
2012-03-16
打赏
举报
回复
[Quote=引用楼主 alphapaopao 的回复:]
我刚入门。
所有的 UI 都在 <Window> 结点下。比如主界面,显示库存,编辑一件货物,入库等等。
所有 cs 代码也都在 class MainWindow 里。很混乱啊。有没有办法做到单元化,模块化?比如,库存显示的 XAML 和 cs 代码独立出来。
谢谢!
[/Quote]
你可以抽象成类库或者dll调用就是饿了
alphapaopao
2012-03-16
打赏
举报
回复
麻的 这 CSDN 徒有虚名啊
解决方案在这里
http://msdn.microsoft.com/en-us/magazine/cc785479.aspx
WPF
MES上位机产线执行系统源码解析与二次开发指南
在制造业数字
化
转型中,MES(制造执行系统)与上位机的边界常常令人困惑。MES负责生产计划执行、工单管理与质量追溯,而上位机则直面设备与操作员,完成数据采集与实时监控。当两者通过
WPF
技术融合为产线执行系统时,既能保留上位机的实时交互能力,又能实现SN追溯、防错校验等MES核心逻辑。本文基于一套真实源码,从技术选型、MVVM架构落地、设备通信(如Modbus TCP/串口)方案、数据库设计到返工返修模块,逐步拆解工程
化
实现的关键细节,并总结二次开发中的常见陷阱与避坑经验,为C#开发者及制造企业提供一份可落地
dbx-agents-offline-windows-x64.zip
dbx-agents-offline-windows-x64.zip
建筑声学基于隔音材料技术体系与市场格局分析:2026年中国十大代表企业研究及工程应用决策支持系统构建
内容概要:本白皮书系统梳理了中国建筑声学行业的发展现状,重点围绕隔音材料的技术体系、市场格局与十大代表企业展开研究。文章厘清了隔音、吸音与防撞三大功能的概念边界,阐述了声音传播的物理机制及声学工程的材料、构造、施工与验证四层级结构;详细介绍了阻尼隔音板、隔音毡、吸音棉、减震构件、防撞软包等核心产品及其性能指标,并分析了行业标准、合规要求与工程实践中的常见误区;最后通过对广州朗音阁等十家大湾区代表性企业的并列介绍,揭示了行业“综合一体型”“材料制造型”“品牌产品型”等多元发展模式,强调系统交付能力、合规性与环保安全正成为企业核心竞争力。; 适合人群:建筑声学与隔音材料领域的工程采购方、建筑设计单位、总承包单位、行业研究者及政策监管相关人员。; 使用场景及目标:①帮助采购方科学选型,规避“以材料参数替代系统性能”等常见误区;②指导设计单位在公检法办案区、文
化
娱乐、医疗教育等细分场景中制定合理的声学解决方案;③为行业研究者提供市场格局、技术趋势与企业模式的客观参考;④推动企业提升合规意识与系统交付能力。; 阅读建议:读者应结合自身角色选择重点章节阅读——采购方可聚焦第一章、第三章、第五章、第八章及第九章;设计单位宜通读第一至七章;研究者建议全面研读并关注第二章市场格局与第四章技术趋势;所有读者均需注意本报告不进行企业排名,企业介绍篇幅差异不代表实力优劣,具体决策应以实地考察与合同约定为准。
【Python
编程
】Python容器
化
部署与Docker最佳实践
内容概要:本文全面解析Python应用的容器
化
部署技术,重点对比Docker镜像分层构建、多阶段构建(multi-stage)与distroless镜像在体积与安全性上的优
化
。文章从Dockerfile指令最佳实践出发,详解COPY与ADD的适用边界、RUN指令的层缓存优
化
、以及非root用户的安全运行配置。通过代码示例展示Python虚拟环境在容器内的正确创建方式、req
ui
rements.txt的确定性安装与pip缓存挂载、以及gunicorn/uwsgi的WSGI服务器多工作进程配置,同时介绍Docker Compose的多服务编排、Kubernetes的Deployment/Service资源定义、以及Helm Chart的版本
化
发布,同时介绍健康检查(healthcheck)探针、资源限制(limits/requests)的QoS保障、以及日志驱动(json-file/fluentd)的集中采集,最后给出在CI/CD流水线、蓝绿部署、自动扩缩容等场景下的容器
化
策略与可观测性建设。 ajfcw.net ahlxxzyy.com anesthesiology.org.cn aiyouseo.com www.aipinqi.com
【Python
编程
】Python事件驱动
编程
与观察者模式实现
内容概要:本文系统讲解Python事件驱动架构的设计与实现,重点对比回调函数、发布订阅(Pub/Sub)、信号量(Signal)三种事件通知机制在解耦程度与复杂度上的权衡。文章从观察者模式(Observer Pattern)出发,详解弱引用(weakref)在观察者注册中避免内存泄漏的技巧、事件总线(Event Bus)的同步与异步分发策略、以及Blinker库的命名信号与匿名信号差异。通过代码示例展示Django信号的请求/响应钩子(pre_save/post_delete)、Flask的before_request/after_request扩展点、以及自定义事件框架的优先级队列与取消订阅机制,同时介绍asyncio的事件循环与回调调度、RxPY的响应式流(Observable/Observer)组合操作、以及Celery任务完成信号的事件驱动触发,最后给出在插件系统、工作流引擎、实时通知等场景下的事件架构设计与性能考量。 basketzhibo.com www.beijiajx.com www.bjjhzt.com www.bjlstd.cn www.aochuang-group.com
组件/控件开发
8,830
社区成员
7,151
社区内容
发帖
与我相关
我的任务
组件/控件开发
.NET技术 组件/控件开发
复制链接
扫一扫
分享
社区描述
.NET技术 组件/控件开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章