仮想化と項目の選択状態
記事のカテゴリー: C#、.NET9、WPF 仮想化したListViewは画面に表示する範囲の項目コンテナ(ListViewItem)しか作りません。その動作によりパフォーマンスを向上しているわけですが、MVVMでは問題が起こります。 項目の選択状態をViewModelで...
円周上に等間隔でオブジェクトを置きたい
円周上に等間隔でオブジェクトを配置するときの、それぞれのオブジェクトの座標を求めるスクリプト(JavaScript)です。円に外接する四角の左上隅を原点として、X座標は左から右へ、Y座標は上から下へ増加する座標系で計算します。 計算スクリプト 次の条件で します。 ...
TextBoxに透かし文字(Placeholder)を表示する

記事のカテゴリー: C#、.NET9、WPF ホームページの入力欄によくある「検索する」などの透かし文字(Placeholder)をWPFのTextBoxで実現する方法を考えます。 1. Adornerを作る 最初に、TextBox上に透かし文字を表示するた...
タプルにバインドしたい
記事のカテゴリー: C#、.NET 9 タプルには2種類あって、 ValueTuple にはバインドできず、 Tuple にはバインドできます。ただし、Tupleは値が不変なのでOneWayのみになります。 Tuple: クラス 要素はpublicのプ...
LINQ拡張メソッドまとめ

記事のカテゴリー: C#、.NET 9 LINQ拡張メソッド(System.Linq名前空間のEnumerableクラスに宣言された拡張メソッド、静的メソッド)について、概要と使用例をまとめています。 シーケンスの生成 DefaultIfEmpty 、 Emp...
矩形Aが矩形Bに含まれるように位置を調整
記事のカテゴリー: C#、.NET 9、WPF 矩形Aを矩形Bの真ん中に置く C#: public static Rect Center(Rect baseRect, Rect r) { r.Location = new Point( baseR...
HierarchicalDataTemplateと固定の項目
記事のカテゴリー: C#、.NET 9、WPF TreeView、Menu、ContextMenuなど、階層的なデータを表示するときに使用するHierarchicalDataTemplateですが、メインの階層的なデータとは別に固定の項目を表示する方法を考えます。例えば、お気...
ファイルを一括処理するアプリ

自作アプリを配布しています。 ファイルを一括処理するアプリ 動作環境: Windows 10、.NETデスクトップランタイム 9.0 アプリケーションの種類: ファイル操作 安定版 バージョン 7 (2025/2/14)...
長文を扱うTextBlockに省略表示させる

記事のカテゴリー: C#、.NET 9、WPF 長文を扱うTextBlock(とくに行数が多い場合)を配置すると、UIが縦に伸びて全体を見渡すことが難しくなります。このようなときに初期状態ではTextBlockのテキストを短縮(先頭の数行だけを表示)して、末尾に追加したリンク...