/// <summary>
/// MainWindowに対するViewModel
/// </summary>
class MainWindowViewModel : ViewModelBase
{
    // バインディングされる値を保持するフィールド
    private string sampleText_;

    // バインディング対象のプロパティ
    public string SampleText
    {
        get
        {
            return sampleText_;
        }
        set
        {
            sampleText_ = value;

            // 変更をViewに通知する
            OnPropertyChanged(nameof(SampleText));

            // ラベルの値も連動させる
            SampleLabel = value;
        }
    }

    // バインディングされる値を保持するフィールド
    private string sampleLabel_ = "";

    // バインディング対象のプロパティ
    public string SampleLabel
    {
        get
        {
            return sampleLabel_;
        }
        set
        {
            sampleLabel_ = value;
	
            // 変更をViewに通知する
            OnPropertyChanged(nameof(SampleLabel));
        }
    }

    /// <summary>
    /// コンストラクタ
    /// </summary>
    public MainWindowViewModel()
    {
        SampleText = "Sample";
        SampleLabel = "Sample";
    }
}