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

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

谢谢!
...全文
335 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,834

社区成员

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

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