WPF

WPF

WPF開発 備忘録

Microsoft Docs チュートリアル: 新しい WPF アプリを作成する (WPF .NET) Visual Studio での新しいアプリの作成に関するチュートリアル - WPF .NET | Microsoft Docs   W...
.NET Core

WPF開発プロジェクトが失敗する元凶となっているMVVM

WPF開発が失敗する元凶となっているMVVM開発モデルを、採用しようとする開発者の言い分は3つに分かれる。① MVVMで実装しないと画面間の連携ができない。② MVVMで実装しないと単体テストでソースコードのカバレッジ100%を達成できない...
.NET Core

WPF開発で失敗しないのはMMCSVM開発モデルのみ

WPF開発方式で最も開発スピードが良いのはMMCSVM(モデル+マークアップ+コードビハインド+シングルトンビューモデル)開発モデル。 MVVM開発モデル に比べて5分の1の工数で実装が終わる。 WPF開発に失敗しているプロジェクトは、全て...
WPF

WPF開発プロジェクトが失敗する原因はロボトミーにある

日本のITゼネコンがWindows Presentation Foundation (WPF)開発を請けると、必ず工数を肥大化させる。工数の肥大化は費用の増加だけではなく、プロジェクト全体のスケジュールを遅らせ、依頼元企業の競争力まで低下さ...
.NET Core

WPF各コントロールのStyleを変更する際の元となるStyleコード

WPFのコンボックスを黒いデザインにする で取り上げたコンボボックス以外のコントロールも、Styleを実装する際の元のなるStyleコードが、ControlTemplate Examples で公開されている。これらを流用し一部を変更するの...
.NET Core

WPFのコンボックスを黒いデザインにするStyleコード

WPFを使った業務系システム開発でよくやる、コンボックスを黒くするデザインですが、 コンボボックスのStyleを構成している全ソースコードを、ComboBox ControlTemplate Example から取得し、色を変更するだけで実...
C#

WPF StaticResourceとDynamicResourceの初期化

WPFのStaticResourceは動的に値を変更できないと書かれている記事が多いですが、アプリケーション起動時にstaticコンストラクタから変更できます。 国際化する必要があり、StaticResourceのパフォーマンスが求められる...
C#

C#で結合文字をカウントする場合の注意点

「Ninja Cat with Coffee」など、「Zero Width Joiner (ZWJ)」で絵文字を結合した Windows独自拡張の絵文字。 StringInfo.LengthInTextElementsプロパティを使えば、サ...
C#

テストメソッドからWPFメインスレッドの処理を実行する場合

NUnitのテストメソッドを実行しているスレッドと、メインスレッドは違う。この影響で、Application.Current.Dispatcher.CheckAccess()が false になり、UIをテストメソッドから処理すると例外が発...
Visual Studio

UWP以外はシミュレーターをターゲットにしてデバッグすることができない

ユニバーサル Windows(UWP)プロジェクトだと、ツールバーでデバッグ実行時ののターゲットプラットフォームを、Windowsシミュレーターにできる。 WPFや Windowsフォームのプロジェクトでは、デバッグ実行時のターゲットプラッ...