<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>技術記事 - s-iguchi</title>
  <subtitle>WPF・.NET デスクトップ開発の実装知見。</subtitle>
  <link href="https://s-iguchi09.github.io/ja/feed.xml" rel="self" type="application/atom+xml" />
  <link href="https://s-iguchi09.github.io/ja/articles/" rel="alternate" type="text/html" hreflang="ja" />
  <id>https://s-iguchi09.github.io/ja/feed.xml</id>
  <updated>2026-09-08T19:16:07+00:00</updated>
  <author>
    <name>s-iguchi</name>
  </author>
  <entry>
    <title>WPF Fluent テーマでカスタム Style を持つコントロールだけ旧外観に戻る問題</title>
    <link href="https://s-iguchi09.github.io/ja/articles/wpf-fluent-theme-custom-style-not-applied/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/wpf-fluent-theme-custom-style-not-applied/</id>
    <published>2026-08-27T00:00:00+00:00</published>
    <updated>2026-09-02T03:28:00+00:00</updated>
    <summary type="text">Fluent テーマを適用しても、独自の Style を当てたコントロールだけが旧外観に戻る原因を解説する。BasedOn による解決と、それでも効かない配置パターンを実測の対応表で整理する。</summary>
  </entry>
  <entry>
    <title>WPF で ICollectionView のフィルタが再評価されない原因と Refresh・ライブフィルタの使い分け</title>
    <link href="https://s-iguchi09.github.io/ja/articles/wpf-collectionviewsource-filter-not-refreshing/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/wpf-collectionviewsource-filter-not-refreshing/</id>
    <published>2026-08-24T00:00:00+00:00</published>
    <updated>2026-08-30T19:18:05+00:00</updated>
    <summary type="text">フィルタを設定した直後は正しいのに、項目のプロパティを変えても絞り込み結果が変わらない。ビューが再評価を行う契機を .NET 10 の実測で切り分け、Refresh とライブフィルタを比較する。</summary>
  </entry>
  <entry>
    <title>WPF で RadioButton を enum にバインドすると初期選択が表示されない問題と GroupName の役割</title>
    <link href="https://s-iguchi09.github.io/ja/articles/wpf-radiobutton-enum-binding/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/wpf-radiobutton-enum-binding/</id>
    <published>2026-08-22T00:00:00+00:00</published>
    <updated>2026-08-30T19:18:05+00:00</updated>
    <summary type="text">ViewModel が正しい列挙体の値を保持しているのにラジオボタンが未選択になるのは、GroupName を省いたことで別々の列挙体のボタンが 1 グループに統合されるためである。原因と解決策を実測で整理する。</summary>
  </entry>
  <entry>
    <title>WPF でウィンドウを閉じてもプロセスが終了しない原因の切り分けと ShutdownMode・フォアグラウンドスレッドの扱い</title>
    <link href="https://s-iguchi09.github.io/ja/articles/wpf-application-not-exiting-shutdownmode-threads/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/wpf-application-not-exiting-shutdownmode-threads/</id>
    <published>2026-08-18T00:00:00+00:00</published>
    <updated>2026-08-31T02:44:54+00:00</updated>
    <summary type="text">ウィンドウを閉じたのにタスクマネージャーにプロセスが残る。WPF の終了は「アプリケーションの終了」と「プロセスの終了」の 2 段階であり、どちらで止まったかによって原因も対処も変わる。実測は .NET 10 で取得した。</summary>
  </entry>
  <entry>
    <title>WPF の UserControl に定義した DependencyProperty へ内部からバインドできない原因と DataContext の設計</title>
    <link href="https://s-iguchi09.github.io/ja/articles/wpf-usercontrol-dependencyproperty-binding-not-working/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/wpf-usercontrol-dependencyproperty-binding-not-working/</id>
    <published>2026-08-15T00:00:00+00:00</published>
    <updated>2026-09-02T02:10:20+00:00</updated>
    <summary type="text">UserControl に依存関係プロパティを追加したのに、内部の {Binding Title} だけが空欄になる。DataContext の継承という原因を .NET 10 の実測で切り分け、RelativeSource・ElementName・内側ルートへの委譲を比較する。</summary>
  </entry>
  <entry>
    <title>WPF で入力検証のエラーが表示されない原因と IDataErrorInfo / INotifyDataErrorInfo の使い分け</title>
    <link href="https://s-iguchi09.github.io/ja/articles/wpf-validation-error-not-displayed/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/wpf-validation-error-not-displayed/</id>
    <published>2026-08-13T00:00:00+00:00</published>
    <updated>2026-08-31T04:53:06+00:00</updated>
    <summary type="text">検証コードは動いているのにエラーが画面に出ない。ValidatesOnDataErrors の既定値、AdornerLayer の不在、ソース更新のタイミングといった原因を .NET 10 の実測で切り分け、検証方式を比較する。</summary>
  </entry>
  <entry>
    <title>WPF TreeView で任意のノードをコードから選択・展開する方法と SelectedItem が読み取り専用である理由</title>
    <link href="https://s-iguchi09.github.io/ja/articles/wpf-treeview-select-item-programmatically/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/wpf-treeview-select-item-programmatically/</id>
    <published>2026-08-10T00:00:00+00:00</published>
    <updated>2026-08-31T02:51:31+00:00</updated>
    <summary type="text">TreeView.SelectedItem は読み取り専用で代入もバインドもできない。選択の実体が TreeViewItem 側にある点を踏まえ、ItemContainerStyle と ItemContainerGenerator の 2 方式を実測して比較する。</summary>
  </entry>
  <entry>
    <title>WPF の DataTemplate 内から親の DataContext にバインドできない原因と RelativeSource の使い分け</title>
    <link href="https://s-iguchi09.github.io/ja/articles/wpf-datatemplate-parent-datacontext-binding/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/wpf-datatemplate-parent-datacontext-binding/</id>
    <published>2026-08-06T00:00:00+00:00</published>
    <updated>2026-08-30T05:44:51+00:00</updated>
    <summary type="text">DataTemplate 内でバインドしても親の ViewModel に届かないのは、DataContext がアイテムへ切り替わるためである。RelativeSource・ElementName・x:Reference・PlacementTarget の到達範囲を比較する。</summary>
  </entry>
  <entry>
    <title>WPF で Style の Trigger・DataTrigger が効かない原因と依存関係プロパティの値優先順位</title>
    <link href="https://s-iguchi09.github.io/ja/articles/wpf-style-trigger-not-working-local-value/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/wpf-style-trigger-not-working-local-value/</id>
    <published>2026-08-03T00:00:00+00:00</published>
    <updated>2026-09-02T03:28:00+00:00</updated>
    <summary type="text">Style のトリガーを書いても外観が変わらない原因の多くは、XAML の属性で直接指定したローカル値がスタイルトリガーより優先されることにある。値優先順位の仕組みと、Setter への移行・SetCurrentValue・ClearValue による解決方法を整理する。</summary>
  </entry>
  <entry>
    <title>WPF の BitmapImage で表示した画像ファイルが削除・上書きできなくなる問題の解決方法</title>
    <link href="https://s-iguchi09.github.io/ja/articles/wpf-bitmapimage-file-lock-cacheoption/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/wpf-bitmapimage-file-lock-cacheoption/</id>
    <published>2026-07-25T00:00:00+00:00</published>
    <updated>2026-08-29T18:51:54+00:00</updated>
    <summary type="text">BitmapImage で表示した画像ファイルがロックされ、削除・上書きできなくなる。原因である既定のキャッシュ動作と、BitmapCacheOption.OnLoad・StreamSource による解決方法を整理する。</summary>
  </entry>
  <entry>
    <title>C# で Windows エクスプローラー風の並び順を実装する（StrCmpLogicalW と IComparer）</title>
    <link href="https://s-iguchi09.github.io/ja/articles/csharp-natural-sort-strcmplogicalw-icomparer/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/csharp-natural-sort-strcmplogicalw-icomparer/</id>
    <published>2026-07-24T00:00:00+00:00</published>
    <updated>2026-09-02T03:28:00+00:00</updated>
    <summary type="text">既定の文字列ソートでは &quot;item10&quot; が &quot;item2&quot; より前に並んでしまう。本記事では Win32 API の StrCmpLogicalW を P/Invoke で呼び出し、IComparer を実装したクラスとしてエクスプローラーに近い自然順ソートを実現する方法を、メリット・デメリットとともに解説する。</summary>
  </entry>
  <entry>
    <title>WPF で RelayCommand の CanExecute がボタンの有効・無効に反映されない問題の解決方法</title>
    <link href="https://s-iguchi09.github.io/ja/articles/wpf-relaycommand-canexecute-not-updating/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/wpf-relaycommand-canexecute-not-updating/</id>
    <published>2026-07-23T00:00:00+00:00</published>
    <updated>2026-09-02T00:00:42+00:00</updated>
    <summary type="text">自作 RelayCommand の CanExecute を変えてもボタンが更新されないのは CanExecuteChanged が発火されないため。CommandManager.RequerySuggested への委譲と手動発火の使い分けを整理する。</summary>
  </entry>
  <entry>
    <title>WPF で TextBox の UpdateSource を View から呼び出すときの落とし穴と実装</title>
    <link href="https://s-iguchi09.github.io/ja/articles/wpf-textbox-updatesource-from-view-pitfalls/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/wpf-textbox-updatesource-from-view-pitfalls/</id>
    <published>2026-07-22T00:00:00+00:00</published>
    <updated>2026-08-30T16:13:36+00:00</updated>
    <summary type="text">GetBindingExpression().UpdateSource() を View から呼ぶ際に起きる null・一括更新・方向取り違え・MVVM 設計の落とし穴を、一次情報を基に整理する。</summary>
  </entry>
  <entry>
    <title>WPF TextBox の UpdateSourceTrigger で入力がソースへ反映されるタイミングを制御する</title>
    <link href="https://s-iguchi09.github.io/ja/articles/wpf-textbox-updatesourcetrigger-binding-timing/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/wpf-textbox-updatesourcetrigger-binding-timing/</id>
    <published>2026-07-21T00:00:00+00:00</published>
    <updated>2026-09-02T03:28:00+00:00</updated>
    <summary type="text">TextBox.Text の既定が LostFocus であるために起きる「入力が ViewModel に届かない」問題を、UpdateSourceTrigger の三値の使い分けと落とし穴から整理する。</summary>
  </entry>
  <entry>
    <title>WPF で ObservableCollection をバックグラウンドスレッドから更新するとクロススレッド例外が発生する問題の解決方法</title>
    <link href="https://s-iguchi09.github.io/ja/articles/wpf-observablecollection-cross-thread-update/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/wpf-observablecollection-cross-thread-update/</id>
    <published>2026-07-20T00:00:00+00:00</published>
    <updated>2026-08-31T03:43:44+00:00</updated>
    <summary type="text">バインド中の ObservableCollection を別スレッドから変更すると NotSupportedException が発生する。原因のスレッドアフィニティと、EnableCollectionSynchronization・Dispatcher による解決策を整理する。</summary>
  </entry>
  <entry>
    <title>WPF Fluent テーマの TextBox でクリアボタンを非表示にする方法</title>
    <link href="https://s-iguchi09.github.io/ja/articles/wpf-fluent-textbox-hide-clear-button/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/wpf-fluent-textbox-hide-clear-button/</id>
    <published>2026-07-19T00:00:00+00:00</published>
    <updated>2026-09-02T02:10:20+00:00</updated>
    <summary type="text">Fluent テーマの TextBox がフォーカス時に表示するクリアボタンを、入力挙動を変えずに非表示化する。名前付きパーツを操作する方法と AcceptsReturn を使う方法を .NET 10・9 対応で整理する。</summary>
  </entry>
  <entry>
    <title>WPF で ScrollViewer がスクロールしない原因と解決方法</title>
    <link href="https://s-iguchi09.github.io/ja/articles/wpf-scrollviewer-not-scrolling/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/wpf-scrollviewer-not-scrolling/</id>
    <published>2026-07-17T00:00:00+00:00</published>
    <updated>2026-09-02T03:28:00+00:00</updated>
    <summary type="text">StackPanel の中に置いた ScrollViewer がスクロールしないのは、StackPanel が高さを制約しないためである。原因と、Grid や DockPanel を使った解決方法・選択基準を解説する。</summary>
  </entry>
  <entry>
    <title>WPF Binding.StringFormat で数値・通貨・日付を書式化する方法と制約</title>
    <link href="https://s-iguchi09.github.io/ja/articles/wpf-binding-stringformat-number-currency-date/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/wpf-binding-stringformat-number-currency-date/</id>
    <published>2026-07-17T00:00:00+00:00</published>
    <updated>2026-09-02T03:28:00+00:00</updated>
    <summary type="text">コンバーターを書かずに Binding.StringFormat で数値・通貨・日付を書式化する手法を整理し、カルチャ依存や ContentControl での制約までまとめる。</summary>
  </entry>
  <entry>
    <title>GroupBy を経由しないキー集計 — CountBy・AggregateBy・Index の辞書ベース実装</title>
    <link href="https://s-iguchi09.github.io/ja/articles/linq-backport-netframework-to-net9/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/linq-backport-netframework-to-net9/</id>
    <published>2026-07-16T00:00:00+00:00</published>
    <updated>2026-09-02T03:28:00+00:00</updated>
    <summary type="text">キーごとの集計で GroupBy が抱える中間グルーピングの割り当てコストを整理し、.NET 9 の CountBy・AggregateBy・Index を辞書への直接集計で .NET Framework に実装する方法と、GroupBy 委譲実装との挙動差を解説する。</summary>
  </entry>
  <entry>
    <title>SQL の外部結合を LINQ で表現する — LeftJoin・RightJoin・Shuffle の実装</title>
    <link href="https://s-iguchi09.github.io/ja/articles/linq-backport-netframework-to-net10/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/linq-backport-netframework-to-net10/</id>
    <published>2026-07-16T00:00:00+00:00</published>
    <updated>2026-09-02T03:28:00+00:00</updated>
    <summary type="text">SQL の LEFT JOIN / RIGHT JOIN に対応する .NET 10 の LeftJoin・RightJoin と Shuffle を .NET Framework へ実装し、GroupJoin イディオムとの対応関係、擬似シャッフルとの違い、IQueryable に適用した場合の落とし穴を解説する。</summary>
  </entry>
  <entry>
    <title>WPF バインディングエラーの読み方と出力ウィンドウを使った原因特定</title>
    <link href="https://s-iguchi09.github.io/ja/articles/wpf-binding-error-debugging-output-window/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/wpf-binding-error-debugging-output-window/</id>
    <published>2026-07-15T00:00:00+00:00</published>
    <updated>2026-08-30T06:15:12+00:00</updated>
    <summary type="text">WPF の Binding が動かないとき、Visual Studio の出力ウィンドウにはバインディングエラーが記録される。エラーメッセージの構造の読み方、トレースの詳細化、パターン別の対処を整理する。</summary>
  </entry>
  <entry>
    <title>セレクタなし ToDictionary の実現 — オーバーロード解決と notnull 制約の設計</title>
    <link href="https://s-iguchi09.github.io/ja/articles/linq-backport-netframework-to-net8/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/linq-backport-netframework-to-net8/</id>
    <published>2026-07-15T00:00:00+00:00</published>
    <updated>2026-09-02T03:28:00+00:00</updated>
    <summary type="text">.NET 8 の ToDictionary 新オーバーロード（KeyValuePair 版・タプル版）を .NET Framework で再現する際に問われる、既存オーバーロードとの共存・名前付き引数による解決先の固定・notnull 制約の一致というシグネチャ設計を解説する。</summary>
  </entry>
  <entry>
    <title>委譲だけで作る Order・OrderDescending — IOrderedEnumerable 互換の最小ポリフィル</title>
    <link href="https://s-iguchi09.github.io/ja/articles/linq-backport-netframework-to-net7/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/linq-backport-netframework-to-net7/</id>
    <published>2026-07-14T00:00:00+00:00</published>
    <updated>2026-09-02T03:28:00+00:00</updated>
    <summary type="text">既存の OrderBy への委譲だけで完結する Order・OrderDescending のポリフィルを題材に、戻り値型 IOrderedEnumerable が決める ThenBy 互換性と、環境によって異なるソート時例外という 2 つの互換性論点を解説する。</summary>
  </entry>
  <entry>
    <title>GroupBy と全件ソートによる回避コードをなくす — Chunk・MaxBy・MinBy・DistinctBy の実装</title>
    <link href="https://s-iguchi09.github.io/ja/articles/linq-backport-netframework-to-net6/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/linq-backport-netframework-to-net6/</id>
    <published>2026-07-13T00:00:00+00:00</published>
    <updated>2026-09-02T03:28:00+00:00</updated>
    <summary type="text">.NET Framework で Chunk・MaxBy・MinBy・DistinctBy を代用する GroupBy・全件ソートの回避イディオムを実行コストの面から検証し、計算量を改善するポリフィルの実装と、バージョン別シンボルによる移行ガードの選び方を解説する。</summary>
  </entry>
  <entry>
    <title>遅延評価を壊さない LINQ ポリフィルの設計原則 — Append・Prepend・TakeLast・SkipLast の実装</title>
    <link href="https://s-iguchi09.github.io/ja/articles/linq-backport-netframework-to-net5/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/linq-backport-netframework-to-net5/</id>
    <published>2026-07-10T00:00:00+00:00</published>
    <updated>2026-09-02T03:28:00+00:00</updated>
    <summary type="text">LINQ ポリフィル自作時の 3 つの設計原則（引数検証とイテレータの分離・バッファリングの最小化・条件付きコンパイルによる移行ガード）を、.NET Core 期に追加された Append・Prepend・TakeLast・SkipLast の実装を題材に解説する。</summary>
  </entry>
  <entry>
    <title>WPFのDataGridのソートを初期化する方法</title>
    <link href="https://s-iguchi09.github.io/ja/articles/wpf-datagrid-sort-reset/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/wpf-datagrid-sort-reset/</id>
    <published>2026-06-29T00:00:00+00:00</published>
    <updated>2026-09-02T02:10:20+00:00</updated>
    <summary type="text">WPF DataGrid のソート状態を初期化する代表的な方法を整理し、単一列ソートと複数列ソートの両方で使える実装例を示す。</summary>
  </entry>
  <entry>
    <title>C# バージョン別 演算子と初期化構文シンタックスシュガー一覧</title>
    <link href="https://s-iguchi09.github.io/ja/articles/csharp-operators-initialization-syntax-by-version/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/csharp-operators-initialization-syntax-by-version/</id>
    <published>2026-06-22T00:00:00+00:00</published>
    <updated>2026-08-31T05:45:38+00:00</updated>
    <summary type="text">.NET Framework 環境では ??= などの C# 新構文が使用できない場合がある。各バージョンで追加された演算子と初期化の糖衣構文を、net48 に対して実際にコンパイルした結果とともに整理する。BCL 型を要する構文と、その補い方も実測で示す。</summary>
  </entry>
  <entry>
    <title>C# 14 の拡張メンバーで静的クラスに追加できるのは静的メンバーだけ</title>
    <link href="https://s-iguchi09.github.io/ja/articles/csharp14-extension-members-static-class-limitation/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/csharp14-extension-members-static-class-limitation/</id>
    <published>2026-06-17T00:00:00+00:00</published>
    <updated>2026-09-02T03:07:47+00:00</updated>
    <summary type="text">C# 14 の extension ブロックで Directory のような静的クラスを対象にすると、静的メンバーは追加できるがインスタンスメンバーは CS0721 / CS9303 で拒否される。レシーバーの書き方による境界と、インスタンス形式で呼びたい場合の代替手段を整理する。</summary>
  </entry>
  <entry>
    <title>WPF で StaticResource を変更しても画面が更新されない原因と解決方法</title>
    <link href="https://s-iguchi09.github.io/ja/articles/wpf-staticresource-vs-dynamicresource/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/wpf-staticresource-vs-dynamicresource/</id>
    <published>2026-06-11T00:00:00+00:00</published>
    <updated>2026-09-02T00:00:42+00:00</updated>
    <summary type="text">StaticResource はXAMLロード時に値を確定するため、実行時の変更は反映されない。動的な変更が必要な場合は DynamicResource を使用する。両者の仕組みと使い分けの判断基準を解説する。</summary>
  </entry>
  <entry>
    <title>WPF で Label を大量配置すると遅い原因と TextBlock への置き換え指針</title>
    <link href="https://s-iguchi09.github.io/ja/articles/wpf-label-vs-textblock-performance/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/wpf-label-vs-textblock-performance/</id>
    <published>2026-06-10T00:00:00+00:00</published>
    <updated>2026-08-31T02:50:36+00:00</updated>
    <summary type="text">WPF で Label を大量配置した際に描画が遅くなる原因を、visual ツリーの実測に基づいて整理する。TextBlock との差、アンダーバーを含む文字列が招く追加コスト、仮想化を有効にした場合に差が残るかまでを扱う。</summary>
  </entry>
  <entry>
    <title>WPF の Label でアンダーバーが消える理由と回避方法</title>
    <link href="https://s-iguchi09.github.io/ja/articles/wpf-label-underscore-issue/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/wpf-label-underscore-issue/</id>
    <published>2026-06-09T00:00:00+00:00</published>
    <updated>2026-08-31T02:19:56+00:00</updated>
    <summary type="text">WPF の Label にアンダーバー（_）を含む文字列を表示すると画面上で消える。原因である ContentPresenter.RecognizesAccessKey の働きと、影響を受けるコントロールの範囲、4 つの回避方法を実測付きで解説する。</summary>
  </entry>
  <entry>
    <title>WPF DataGrid でセル編集中と表示時でコントロールを切り替える方法</title>
    <link href="https://s-iguchi09.github.io/ja/articles/wpf-datagrid-cell-editing-template/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/wpf-datagrid-cell-editing-template/</id>
    <published>2026-06-09T00:00:00+00:00</published>
    <updated>2026-09-02T02:10:20+00:00</updated>
    <summary type="text">DataGridTemplateColumn の CellTemplate と CellEditingTemplate を使い分け、表示時と編集中で最適な UI を構成する方法を解説します。</summary>
  </entry>
  <entry>
    <title>WPF タスクトレイの ContextMenu がフォーカス移動で閉じない問題の解消方法</title>
    <link href="https://s-iguchi09.github.io/ja/articles/wpf-tray-contextmenu-close-on-focus-loss/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/wpf-tray-contextmenu-close-on-focus-loss/</id>
    <published>2026-06-07T00:00:00+00:00</published>
    <updated>2026-08-30T04:47:57+00:00</updated>
    <summary type="text">TreePaste で発生したタスクトレイから表示した ContextMenu が閉じない問題に対し、StaysOpen=False と SetForegroundWindow の併用で解消する方法を整理します。</summary>
  </entry>
  <entry>
    <title>WPF で Fluent デザインを追加ライブラリなしで適用する方法</title>
    <link href="https://s-iguchi09.github.io/ja/articles/wpf-fluent-design-with-systemcolors/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/wpf-fluent-design-with-systemcolors/</id>
    <published>2026-05-30T00:00:00+00:00</published>
    <updated>2026-09-02T03:28:00+00:00</updated>
    <summary type="text">WPF 標準機能だけで Fluent デザインの見た目を整え、SystemColors を使って Windows の色設定に追従する実装方法を整理します。</summary>
  </entry>
  <entry>
    <title>WPFで編集不可のままテキストを選択・コピー可能に表示する方法</title>
    <link href="https://s-iguchi09.github.io/ja/articles/wpf-selectable-readonly-text-display/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/wpf-selectable-readonly-text-display/</id>
    <published>2026-05-14T00:00:00+00:00</published>
    <updated>2026-09-02T02:10:20+00:00</updated>
    <summary type="text">WPFでTextBlockの代わりにTextBoxを使い、編集不可のままテキストを選択・コピー可能に表示する方法を解説します。</summary>
  </entry>
  <entry>
    <title>WPF ComboBox の ItemsSource バインドパターンと選択値の取得方法</title>
    <link href="https://s-iguchi09.github.io/ja/articles/wpf-combobox-itemssource-patterns/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/wpf-combobox-itemssource-patterns/</id>
    <published>2026-04-26T00:00:00+00:00</published>
    <updated>2026-09-02T02:10:20+00:00</updated>
    <summary type="text">ItemsSource に渡すデータ構造によって、DisplayMemberPath・SelectedItem・SelectedValue の設定方法が変わります。文字列リスト、オブジェクトリスト、Enum の各パターンを整理します。</summary>
  </entry>
  <entry>
    <title>WPF ListBox 仮想化環境での SelectedItems が消えたように見える問題とその解決法</title>
    <link href="https://s-iguchi09.github.io/ja/articles/wpf-listbox-virtualization-selecteditems/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/wpf-listbox-virtualization-selecteditems/</id>
    <published>2026-04-24T00:00:00+00:00</published>
    <updated>2026-08-29T15:26:19+00:00</updated>
    <summary type="text">ListBox の仮想化有効時に選択状態が維持されない理由と、IsSelected を各アイテムに持たせて MVVM で安定させる解決方法を解説する。ItemContainerStyle のバインドだけでは選択が失われる条件と、SelectionChanged を併用した対処を実測付きで示す。</summary>
  </entry>
  <entry>
    <title>WPF DataGrid の並び替えを実装する方法</title>
    <link href="https://s-iguchi09.github.io/ja/articles/wpf-datagrid-sorting/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/wpf-datagrid-sorting/</id>
    <published>2026-04-20T00:00:00+00:00</published>
    <updated>2026-09-02T00:00:42+00:00</updated>
    <summary type="text">DataGrid のソート処理の基本と、実務で使いやすい実装パターンを解説する。</summary>
  </entry>
  <entry>
    <title>DatePicker の表示形式をカスタマイズする方法</title>
    <link href="https://s-iguchi09.github.io/ja/articles/wpf-datepicker-custom-format/" rel="alternate" type="text/html" />
    <id>https://s-iguchi09.github.io/ja/articles/wpf-datepicker-custom-format/</id>
    <published>2026-04-15T00:00:00+00:00</published>
    <updated>2026-09-02T02:10:20+00:00</updated>
    <summary type="text">XAML とコードビハインドの両面から、WPF DatePicker の日付表示形式を変更する方法をまとめる。</summary>
  </entry>
</feed>
