MVVM の新機能。MVVM フレームワーク (WAF/MVVM Light) は使用していません。Josh Smith の relayCommand クラスを使用しています。
2 つのフォーム、Win_Login (btnCancel と btnNext)、もう 1 つはコンボボックスと 2 つのボタン (btnBack、btnNext) を備えた選択フォーム - ユーザーが GOOG、MSFT などの株式ティッカーを選択する場所。
Viewの基本的なスケルトンと 、ログインおよび選択フォーム用のViewModelを作成しました。
私が達成したいのは、succesfull login で、Login ビューを閉じて選択フォームを開き、( btnBack ) をクリックすると loginForm が再び表示されるはずです。Windows はSingletonです。
ビューの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.
}
誰かが特定のシナリオ(いくつかのサンプルコードを含むpbbly)の簡単な解決策を手伝ってくれれば、本当に感謝しています。