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

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

谢谢!
...全文
409 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
下载代码方式:https://pan.quark.cn/s/dd3561eca308 在软件开发领域,面向对象编程(OOP)是一种普遍采纳的结构方法,它使得开发者能够借助模拟现实环境中的实体和关系来构建软件系统。在本案例中,我们观察到的是一个关于借助抽象类来执行不同几何图形面积求解的实践应用。现在,让我们详细分析这一议题。 标题 "应用抽象类计算面积" 清晰地表明我们将要讨论一个抽象类,此类设定了一个用于测量图形面积的标准函数,但并未提供实际的执行过程。抽象类在诸如C#或Java等编程语言中通常借助`abstract`修饰符进行声明,它们无法直接创建对象实例,仅能作为其他类的基础模板。 描述部分提及的"图形界面应用"暗示这是一个基于视觉用户界面(GUI)的系统,可能运用了.NET Framework的Windows Forms或WPF技术,或者是Java平台的Swing或JavaFX框架。在这样环境下,用户能够通过视觉元素与这些几何体进行互动,例如输入相关尺寸并观看到计算得出的面积值。 抽象类“几何体”内嵌了“计算面积”这一抽象函数。在代码层面,这可以被表述为: ```csharp public abstract class GeometricShape { public abstract double CalculateArea(); } ``` 随后,有三个派生类:圆(Circle)、矩形(Rectangle)和三角形(Triangle),它们各自提供了这个抽象函数的具体实现。比如,圆的面积是通过π乘以半径的平方得到的,矩形的面积是长和宽的乘积,而三角形的面积可能是底乘以高再除以2的结果。这些类将提供具体实现来计算它们各自的面积: ```csharp p...
内容概要:本文系统研究了移相控制全桥LLC谐振变换器的工作特性,深入分析其在不同工作模式下的运行机理与性能表现,重点探讨了软开关实现、高效率能量转换及宽范围电压调节等关键技术优势。通过Simulink搭建精确的仿真模型,对谐振腔参数、开关频率、电压增益、系统效率等关键指标进行仿真分析,验证了理论设计的正确性。同时,详细研究了移相控制策略对系统动态响应、稳定性和轻载/重载工况适应性的影响,揭示了控制参数与电路参数之间的耦合关系,为高频高效电源设计提供了理论依据和实践指导。; 适合人群:具备电力电子技术、模拟电路及自动控制理论基础,从事开关电源、新能源变换器、电动汽车充电模块或高频电源系统研发的工程师及高校研究生。; 使用场景及目标:①掌握全桥LLC谐振变换器的拓扑结构、工作原理与关键参数设计方法;②理解移相控制在实现零电压开通(ZVS)和零电流关断(ZCS)中的作用机制;③通过Simulink仿真掌握变换器建模、参数优与性能评估流程,服务于实际产品开发与学术课题研究。; 阅读建议:建议读者结合提供的Simulink仿真模型进行同步操作,重点关注谐振网络(Lr, Lm, Cr)参数与移相角之间的匹配设计,深入理解软开关条件的形成过程,并通过调整负载和输入电压进行多工况仿真,以全面掌握系统动态特性。

8,832

社区成员

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

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