MVVM的新手。我沒有使用任何MVVM框架(WAF/MVVM Light)。我使用Josh Smith的relayCommand類。處理多個表單
了兩種形式,Win_Login(btnCancel和btnNext),其他一個的選擇形式與組合框和兩個按鈕(btnBack,btnNext) - 當如GOOG,MSFT等用戶選擇stockticker
我寫了一個基本骨架查看和ViewModel的登錄和選擇表單。
我想實現的是對succesfull登錄,接近登錄視圖和公開選拔的形式,並點擊(btnBack)應顯示登錄表單again.Windows是辛格爾頓。
我設置視圖的DataContext的像
<Window
x:Class="Ticker.Win_Login"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Ticker"
Title="Ticker-Login" Height="312" Width="394" WindowStartupLocation="CenterScreen" Background="#F9FBF4" >
<Window.DataContext>
<local:Win_LoginViewModel/>
</Window.DataContext>
<Grid></Grid
在Win_LoginViewModel
private void LoginExecute()
{
if (!CanLoginExecute()) return;
try
{
//how I'll call close the current view
//how I'll call selectTicker view
}
catch (Exception)
{
throw;
}
}
在Win_SelectTickerViewModel
private Boolean CanBackExecute()
{
return true;
}
private void BackExecute()
{
if (!CanCancelExecute())
{
return;
}
//how I'll implement back here.
}
我真的很感激,如果有人能幫助我與一些簡單的解決方案給出的情況(可能包含一些示例代碼)。
Window類是不好的使用DataTemplateSelector類,以便有鑑於模型中沒有用戶控件代碼這裏。我假定你可以創建兩個用戶控件(一個用戶控件用於一個視圖模型)並且想在它們之間切換。 – vorrtex 2012-03-04 15:22:59