差分

ナビゲーションに移動 検索に移動

MVVMモデル

2,652 バイト追加, 2020年2月6日 (木) 13:28
編集の要約なし
xmlns:local="clr-namespace:MVVM_Sample"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800Loaded="MainWindow_Loaded"">
<Grid>
<Grid.RowDefinitions>
== モデル ==
モデルも、デフォルトで追加されます…が、ボタンをクリックした時の処理が未だ入っていません…。<br/>
初期状態でこんな感じになっているかと思います。
{{hcc|head=MainWindow.xaml.cs|lang=csharp|output=using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
 
namespace MVVM_Sample
{
/// <summary>
/// MainWindow.xaml の相互作用ロジック
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
}
}}
 
ポイントは…
* LaodedイベントハンドラおよびClickイベントハンドラの追加
* Laodedイベントハンドラでdatacontextの設定
* Clickイベントハンドラでテキストの文字列の変更処理を追加
です…。
 
これをするとこんな感じになるかと思います。
{{hcc|head=MainWindow.xaml.cs|lang=csharp|output=using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
 
namespace MVVM_Sample
{
/// <summary>
/// MainWindow.xaml の相互作用ロジック
/// </summary>
public partial class MainWindow : Window
{
private MainWindow_VM m_MainWindow_VM;
 
public MainWindow()
{
InitializeComponent();
}
 
private void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
m_MainWindow_VM = new MainWindow_VM();
DataContext = m_MainWindow_VM;
}
 
private void ButtonClick(object sender, RoutedEventArgs e)
{
m_MainWindow_VM.ViewText = "変更!!!!";
 
//試しに値をとってみる
MessageBox.Show(m_MainWindow_VM.ViewText);
}
}
}
}}
 
あとは、コンパイルして動かすだけです。<br/>
ボタンを押すと、テキストボックスの文字列が変わって、メッセージボックスが表示されるかと思います。
 
[[Category:C♯]]

案内メニュー