WPF 编程 UI 部分如何做到单元化模块化

alphapaopao 2012-03-15 03:38:54
我刚入门。
所有的 UI 都在 <Window> 结点下。比如主界面,显示库存,编辑一件货物,入库等等。
所有 cs 代码也都在 class MainWindow 里。很混乱啊。有没有办法做到单元化,模块化?比如,库存显示的 XAML 和 cs 代码独立出来。

谢谢!
...全文
430 17 打赏 收藏 举报
写回复
用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 模块化。
总算有一个人回答,还算沾边。
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
内容概要:本白皮书系统梳理了中国建筑声学行业的发展现状,重点围绕隔音材料的技术体系、市场格局与十大代表企业展开研究。文章厘清了隔音、吸音与防撞三大功能的概念边界,阐述了声音传播的物理机制及声学工程的材料、构造、施工与验证四层级结构;详细介绍了阻尼隔音板、隔音毡、吸音棉、减震构件、防撞软包等核心产品及其性能指标,并分析了行业标准、合规要求与工程实践中的常见误区;最后通过对广州朗音阁等十家大湾区代表性企业的并列介绍,揭示了行业“综合一体型”“材料制造型”“品牌产品型”等多元发展模式,强调系统交付能力、合规性与环保安全正成为企业核心竞争力。; 适合人群:建筑声学与隔音材料领域的工程采购方、建筑设计单位、总承包单位、行业研究者及政策监管相关人员。; 使用场景及目标:①帮助采购方科学选型,规避“以材料参数替代系统性能”等常见误区;②指导设计单位在公检法办案区、文化娱乐、医疗教育等细分场景中制定合理的声学解决方案;③为行业研究者提供市场格局、技术趋势与企业模式的客观参考;④推动企业提升合规意识与系统交付能力。; 阅读建议:读者应结合自身角色选择重点章节阅读——采购方可聚焦第一章、第三章、第五章、第八章及第九章;设计单位宜通读第一至七章;研究者建议全面研读并关注第二章市场格局与第四章技术趋势;所有读者均需注意本报告不进行企业排名,企业介绍篇幅差异不代表实力优劣,具体决策应以实地考察与合同约定为准。

8,830

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 组件/控件开发
社区管理员
  • 组件/控件开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧