八 四

コンピュータ

XAMLを使わないWPF入門04「イベントとバインド」

全てのコントーロルがコマンドを持つわけではないので、イベントからコマンドに変換してとバインドする方法を試してみます。サンプルコード・プロジェクトの作成dotnet new wpf -f net8.0 -n NoXAML04cd NoXAML...
コンピュータ

XAMLを使わないWPF入門03「ICommandによるコマンドバインディング」

XAMLを使わないWPFでプロパティとのバインドを前回試しました。今回はICommandのオブジェクトとのバインドを試してみたいと思います。サンプルコード・プロジェクトの作成dotnet new wpf -f net8.0 -n NoXAM...
コンピュータ

XAMLを使わないWPF入門02「ビューモデルのプロパティとバインド」

XAMLを使わない状態でデータバインディングはどのようにするか調べてみました。サンプルコードプロジェクトの作成dotnet new wpf -f net8.0 -n NoXAML02cd NoXAML02rm *.xamlrm MainWi...
スポンサーリンク
コンピュータ

XAMLを使わないWPF入門01「イントロダクション」

VSCodeとdotnet.exeでWPFの開発をしていると、ビューであるXAMLはXMLファイルを直接編集することになります。ビューが独立したファイルになっている点は良いのでが、コントロールを多数レイアウトしていくと、ネストが深くなりすぎ...
コンピュータ

WPFのMVVMでコンテキストメニューを動的に生成する方法

WPFでコンテキストメニューの項目を動的に生成する方法を試して見ました。コンテキストメニューは親コントロールがあるわけでは無いので、DataContextを直接指定する必要があるとのこと。メニューのヘッダーは表示するのにコマンドが実行されな...
コンピュータ

C#レコードクラスで作るファイルパス管理のサンプルコード3「メソッドチェーン」

LINQのように.でメソッドをつなげるスタイルを試してみました。ソースコードファイル名:FileSystemPath.cspublic sealed record class FileSystemPath{ public string Pa...
コンピュータ

ファイルマネージャの作成3「コメントをSQLiteに記録」

ファイルやフォルダに紐づくコメントを入力し記録する機能を実装しました。保存する先はSQLiteでテーブルを作成しました。以下のコードはテーブルの項目の定義になります。ファイル名:CommentTable.csnamespace FileMa...
コンピュータ

C#レコードクラスで作るファイルパス管理のサンプルコード2

レコードクラスでファイルパス管理クラスFielSystemPathのサンプルコードを書きました。更に機能を追加しようと思い、ファイルの有無などファイルシステムに依存するコードを別クラスFileSystemPathExにまとめました。また、F...
コンピュータ

C#レコードクラスで作るファイルパス管理のサンプルコード

C#のレコードクラスを試してみました。サンプルコードファイル名:FileSystemPath.cspublic record class FileSystemPath{ public string Path { get; } private...
コンピュータ

C#で自動採番を管理するクラス

アプリケーション内で重複しない番号を生成するクラスを作ってみました。public class IdGenerator{ private int _currentId = 0; private readonly object _lock = ...
コンピュータ

ファイルマネージャの作成2「DDD」

形が見え始めたファイルマネージャですが、毎回ここまでは辿りつくのですが、この後が中々難しい。前回の記事WPFの画像オブジェクトを扱うために、wpflibでプロジェクトを追加して、WPFAppプロジェクトから画像加工ルーチンを移動させました。...
コンピュータ

ファイルマネージャの作成

WPFを使ったファイルマネージャを作成中です。何年も前から、挑戦し何度も挫折しています。今回も挫折するかもしれないので、せめて進捗だけでも残そうと記事を書きました。ファイルマネージャを作る目的は、ファイルやフォルダが増えてくると、ファイル名...
コンピュータ

グラボではなくマザーボード側のHDMI出力に挿す理由

通常、HDMIをマザーボードのHDMIポートに接続することはおすすめされません。理由は、内蔵GPU(iGPU)が優先され、グラフィックボードの性能が無視されるからです。ゲームや動画編集など、GPU性能を活かす用途では、グラボ側のHDMIポー...
コンピュータ

C#のConsoleでEntityFramework「fluent APIで1対多のリレーションシップ」

EntityFrameworkで1対多のリレーションシップを定義してみます。ソースコードusing Microsoft.EntityFrameworkCore;using System.Dynamic;using System.IO.Com...