浅聊MVVM的搭建

2024-07-30 21:56:57 浏览数 (1)

一开始在工作盲目的沉浸于如何解决问题,对于每个工作任务,拿到手后就是尽快解决。这种思路是好,但是没有深入学习和系统学习,偶然的一次学习,才知道WPF的搭建最好是从MVVM开始,而不是项目中的.xaml与.cs的随意交互。

我们在前端设计时,无论是Qt还是Wpf,界面设计最开始都是以完成任务为目的,直接拖拉控件。在Qt中还可以直接使用网格可以将选择的控件直接对齐,而Wpf或.net中对齐,不会的就是上下左右移动,常常一个排列就费了老大劲。其实,Wpf中可以通过代码的形式直接排列好,利用Grid与位置等属性直接划分和定义,大大节省了我们的排列。


说到这里,Wpf的排列与MVVM又有什么关系呢?

这个关系就大了。

例如:

我们直接拖拉几个按钮,再看对应的代码:

代码语言:C#复制
<Button x:Name="button" Content="Button" HorizontalAlignment="Left" Margin="196,85,0,0" VerticalAlignment="Top" Width="75"/>
<Button x:Name="button_Copy" Content="Button" HorizontalAlignment="Left" Margin="240,152,0,0" VerticalAlignment="Top" Width="75"/>
<Button x:Name="button_Copy1" Content="Button" HorizontalAlignment="Left" Margin="129,182,0,0" VerticalAlignment="Top" Width="75"/>

排序十分混乱,并且没有使用到绑定。

MVVM是将界面与逻辑分割,这样不同的功能可以将交互界面与功能逻辑分开给不同的人来完成工作。

上面说到绑定,我们可以在控件中绑定对应的源。

例如这里,我们将TextBlock的Text没有在前端直接赋值,而是绑定的形式进行赋值。这样我们在后台不是直接通过XX.Text=xxx;来编写,而是对绑定使用的Name来编写,这样就形成MVVM的形式,View中只参与界面的设计,而对应的值输入我们可以从Model中定义,然后ViewModel中处理。


MVVM的使用最好在项目一开始搭建的时候就考虑清楚,这里只是用Wpf的形式进行举例子,很多前后端都可以使用到这种方式,有的又称之为MVC模式,其实其中的道理都差不多,还需要自己多多练手!对于现在使用的项目,无法从根源改进,那么就好好维护,有实力的时候,再自己搭建吧!

0 人点赞