我最近從WinForms轉移到WPF,我很難分開ViewModel和View。我正在設計ViewModel中的整個視圖。儘管它行得通,但我確信它不是正確的方法。使用WPF和C的MVVM#
是否有無論如何我可以單獨View和ViewModel而不修改太多?我已經做了一些研究,但沒有那麼有用。
編輯
XAML
<Window x:Class="PackageDeliveryTool.FolderCheck"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Main Window" Height="350" Width="640" ResizeMode="NoResize" ShowInTaskbar="False" Topmost="True" Cursor="Arrow" Closing="Window_Closing">
<!-- From here is the XAML view code which includes button/Grid/StackPanel etc -->
</Window>
而且我對模型的單獨CS文件。其中有屬性和propertyChanged事件。
這是特定Window的XAML.Cs文件。有行動,和模型對象(S),
public partial class CopyMessageWindow : Window
{
Model m = new Model("someValue");
public CopyMessageWindow()
{
InitializeComponent();
}
public void StartButton_Click(object sender, RoutedEventArgs e){
//Some code goes here uses Model instance
}
public void OtherLogicMethod(int val){
//Some other logic not related to UI, but to Background program. Also uses Model Instance
}
private void CancelButton_Click(object sender, RoutedEventArgs e)
{
//When cancel button is clicked, uses Model instance
}
}
EDITx2
我已經寫很多代碼。我需要更簡單的分離視圖和ViewModel的方法。
硬不知道到目前爲止你做過什麼可說的。 – Abion47
查看它的一個非常基本的方法是,「設計」部分位於視圖中,而「加載」數據或此類編碼在ViewModel中完成。對於一個好的初學者友好的教程,請嘗試[MVVM教程](https://www.tutorialspoint.com/mvvm/index.htm) –
ViewModel將您的模型和視圖粘合在一起。它可以包含更新視圖的邏輯(即背景顏色)。如果視圖更新可以通過XAML完成,那麼不要將它放在ViewModel上。 –