C#-WPF
本記事ではC#における非同期処理、WindowsフォームやWPFといったGUIでTaskを用いた非同期処理、それに直面する問題と解決方法について説明する マルチスレッドと非同期処理 マルチスレッド 非同期処理の実現 Task Start()を使った場合どんな処理順番になるの…
WPFで画面遷移しようとしてWEB検索をかけるとPageとFrameを使った画面遷移が上位に表示されます。これらは開発者が実現したい機能がない場合があるため、MVVMパターンとContentControlの利用を推奨します。 コンストラクタで初期画面を反映させる場合 大まか…
MVVMパターンにおけるViewとViewModel間のインスタンス生成方法は主に2つある。 ・Viewのコンストラクタでインスタンスを生成する方法。 ・XAMLのWindow.DataContextにインスタンスを生成する方法である。 準備 ViewModel:MainViewModel.cs View:MainWind…
WPFを開発するうえでDataTemplateは必要なわけではない。しかし、DataTemplateを利用するとWPFの外観をより柔軟性をもってカスタマイズできるになり非常に便利になる。DataTemplateは、データ オブジェクトのビジュアル構造と定義されるがここで詳細に解説す…
WPFにおいてControlTemplate(コントロールテンプレート)とは、コントロールの外観を自由にカスタマイズする機能のことである。コントロールテンプレートが利用できるコントロールにはLabel、Window、Frame、Button、CheckBox、ComboBox、RadioButtonなどがあ…
WPFの大きな特長は表示とロジックの分離が可能にするMVVMパターンで設計できることである。 設計者は、開発者が C# をプログラミング ロジックの作業を行っているのと同時に、XAML のみを使用してアプリの外観に関する作業を行うことが可能になる。 そして、…
WPFにおいて、DataGridを使用して表形式のデータを表示する方法には、XAMLに直接記述する方法とデータバインディングする方法があります。 実用性を考慮した場合、あまり用いることはありません。 例えばデータベースから特定の条件でデータ取得・表示したい…
前回 前回ListViewのヘッダーにCheckBoxを追加し全ItemのCheck・Uncheckの方法についてご紹介しました。 gaishiengineer.hatenablog.com 前回 目標 XMALコード 全体のロジックコード 解説 目標 前回に続きCheckBoxを使い「Checkされた項目を選択しメソッドを…
前回WPFにおいて、「ListViewにCheckBoxを追加するには」について取り上げました。 gaishiengineer.hatenablog.com 今回は上記のUIにListViewのヘッダーにCheckBoxを追加し全ItemのCheckとUnCheckを行います。 コードが長くなるので2段階に分けて説明します…
ListViewにチェックボックスを追加したUIについてとりあげます。 UI その1 ButtonをクリックするとListViewにCheckBoxが表示されるUIを作ります。 その1ではXAMLでCheckBoxを表示させます。MainWindowのソースコードではデータバインディングは行いません…
WPFにおいてListViewを用い表形式のデータを表示するには”XAMLに直接記述する方法”、"コードビハインドに記述"、"MVVMで記述"があります。 一般的には"コードビハインドに記述"か"MVVMで記述"になります。 また表形式の表示にはListViewとDataGridによる方法…