Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ Microsoft AZ-900
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Personal Transformation Mindfulness Life Purpose Meditation CBT Emotional Intelligence
Web Development JavaScript React CSS Angular PHP Node.Js WordPress Vue JS
Google Flutter Android Development iOS Development React Native Swift Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
Microsoft Power BI SQL Tableau Business Analysis Data Modeling Business Intelligence MySQL Data Analysis Blockchain
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Business Plan Startup Freelancing Online Business Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee
Development Programming Languages C#

C#のWindowsフォームでMVVMをする方法:一緒に作るWindowフォームのMVVMフレームワーク

コントロールのデータバインド,ViewModelでのメッセージ表示や画面遷移,ベース画面の作成方法を解説しています
Rating: 4.5 out of 54.5 (57 ratings)
399 students
Created by ピーコック アンダーソン
Last updated 4/2021
Japanese
30-Day Money-Back Guarantee

What you'll learn

  • WindowsフォームでのMVVMのViewとViewModelのバインドする方法
  • 各種コントロールのバインディング
  • List系のデータバインディング
  • ViewModelでのメッセージボックス表示
  • ViewModelでの画面遷移する方法
  • ステータスバーのある画面をベースとして共通化する方法
Curated for the Udemy for Business collection

Course content

1 section • 37 lectures • 4h 2m total length

  • Preview04:46
  • Preview01:28
  • Preview03:18
  • Preview22:34
  • 04_Labelのバインディング
    09:38
  • 05_TextBoxのバインディング
    04:21
  • 06_DateTimePickerのバインディング
    03:31
  • 07_CheckBoxのバインディング
    02:31
  • 08_RadioButtonのバインディング
    09:25
  • 09_ComboBoxのバインディング_DataSource編
    06:40
  • 10_ComboBoxのバインディング_SelectedValue編
    05:53
  • 11_DataGridのバインディング
    05:54
  • 12_DataGridで値を入力する方法
    00:55
  • 13_BindingListの連動を確認する
    02:08
  • 14_Dispatcherを使ってViewModelで非同期処理中にコントロールの値を変更する方法
    06:17
  • 15_Dispatcherを使ってBindingListをUIスレッドに戻す方法
    08:11
  • 16_ViewModelでメッセージを表示させる方法
    17:31
  • 17_Moqを使って簡単にテスト用Mockを作成する方法
    04:08
  • 18_メッセージボックスが表示されることを確認する
    01:58
  • 19_例外メッセージを表示する方法
    11:49
  • 20_ViewModelで画面遷移をする方法
    11:15
  • 21_画面遷移でパラメーターを渡す方法
    06:59
  • 22_DataGridをダブルクリックで選択行をViewModelに渡す方法
    03:25
  • 23_新規追加と編集モードでReaOnlyを切り替える
    03:45
  • 24_ステータスバーをバインディングする方法
    15:29
  • 25_ステータスバーをすべての画面で共通化する
    06:58
  • 26_ボタンのデータバインディング
    09:00
  • 27_その他のバインディングと奥の手
    05:37
  • 28_全体のまとめ
    12:12
  • 29_不具合修正
    00:37
  • 30_さいごに
    02:04
  • ソースコード
    00:02
  • 補講01_Chartのデータバインディングのやり方
    12:15
  • 補講02_Chartのデータバインディング_ViewModelに移動
    09:11
  • 補講03_Chartのデータバインディング_Seriesにバインドする方法
    05:14
  • 補講04_フォームを閉じるときの問い合わせメッセージの対応
    04:40
  • ボーナスレクチャー
    00:21

Requirements

  • C#の基本的な実装が行える
  • Visualstudio2019が動作する環境

Description

どうもこんにちは,ピーコックアンダーソンです。

今回はC#のWindowsフォームでMVVMをする方法を解説しています。

内容はViewとViewModelのデータバインディングの方法を

Windowsフォームではどのようにするべきかを,全体的にまとめています。

※MVVMのMの部分はやっていませんのでご了承ください。


コントロールのバインドから,ViewModelでのメッセージ表示,

ViewModelでの画面遷移をテスト容易性を考えた形で実装しています。


WPFと異なり,MVVMを支援するフレームワークや情報が充実していないので

改めて全体をまとめてみました。

チーム全体で使うフレームワークにもなると思しますし,

動画の中で一緒に作成することで理解が深まると思います。


Windowsフォームで実装をしている方は是非ご覧ください。


#01_はじめに

#02_プロジェクトの作成

#03_フォルダー構成の作成

#04_Labelのバインディング

#05_TextBoxのバインディング

#06_DateTimePickerのバインディング

#07_CheckBoxのバインディング

#08_RadioButtonのバインディング

#09_ComboBoxのバインディング_DataSource編

#10_ComboBoxのバインディング_SelectedValue編

#11_DataGridのバインディング

#12_DataGridで値を入力する方法

#13_BindingListの連動を確認する

#14_Dispatcherを使ってViewModelで非同期処理中にコントロールの値を変更する方法

#15_Dispatcherを使ってBindingListをUIスレッドに戻す方法

#16_ViewModelでメッセージを表示させる方法

#17_Moqを使って簡単にテスト用Mockを作成する方法

#18_メッセージボックスが表示されることを確認する

#19_例外メッセージを表示する方法

#20_ViewModelで画面遷移をする方法

#21_画面遷移でパラメーターを渡す方法

#22_DataGridをダブルクリックで選択行をViewModelに渡す方法

#23_新規追加と編集モードでReaOnlyを切り替える

#24_ステータスバーをバインディングする方法

#25_ステータスバーをすべての画面で共通化する

#26_ボタンのデータバインディング

#27_その他のバインディングと奥の手

#28_全体のまとめ

#29_不具合修正

#30_さいごに

Who this course is for:

  • WindowsフォームでMVVMする方法を知りたい方
  • Windowsフォームでチームで統一したコーディングを行いたい方

Instructor

ピーコック アンダーソン
C#,プログラミング,SQL
ピーコック アンダーソン
  • 4.4 Instructor Rating
  • 3,724 Reviews
  • 8,319 Students
  • 26 Courses

18年ほどプログラマーとして活動しています。初期の頃はいろんな現場を転々とするプログラマーで経験をつみ,現在はメーカーの社員として製品開発のプロジェクトリーダーをしています。基本的にはC#を使ったプログラミングをしていて,データベースはSQLServerを使っています。


知識習得のきっかけは,現場に分かりづらいプログラムコードが散乱しており,それらをわかりやすくするために,オブジェクト指向,ドメイン駆動開発,テスト駆動開発,リファクタリング,デザインパターンの書籍などを読み漁りました。その結果,一つのドメイン駆動開発手法にいまはたどり着き,チームのメンバーに伝えていますが,この知識を大勢の方にお伝えすると,予想以上に喜んで頂けているので,私の学んだ知識をできるだけわかりやすくお伝えして,私のした遠回りをあまりしなくてもいいように,解説していきたいと思っています。

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Impressum Kontakt
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.