Rx.NET と ReactiveUI を用いたカスタム時刻入力コントロールの実装
目的
WPF アプリケーションにおいて、ReactiveX(Rx.NET)および ReactiveUI を活用して、秒数を基準とした時刻入力用のカスタムコントロールを作成する。このコントロールは以下を満たす。
内部に DateTimeUpDown(Extended.Wpf.Toolkit 使用)を持ち、表示・編集形式は "HH:mm:ss" に限定。
日付部分は固定(例: 2000年1月1日)で、ユーザ ...
7月9日 16:29 投稿
WPFカスタムコントロールの開発
WPFにおけるカスタムコントロールの実装方法
WPF(Windows Presentation Foundation)では、カスタムコントロールをStyle要素を使用して外観と動作を定義します。StyleはWPFの強力なリソース機能であり、開発者は一連のプロパティ値を定義して、単一のコントロールまたは複数のコントロールに適用できます。
カスタムコントロールにおけるStyleの役割
1. 視覚的デザイン
...
6月27日 17:53 投稿
MVVMパターンの実装ガイド
1. MVVMパターンの基本概念
MVVM(Model-View-ViewModel)は、プレゼンテーション層とビジネスロジックを分離するためのアーキテクチャパターンです。このパターン実装には、データバインディングとコマンドパターンという2つの主要な技術が使用されます。
データバインディングの役割
データバインディングは、ViewとViewModel間の自動データ同期を可能にする機構です。Vi ...
6月21日 16:25 投稿
WPF アプリケーションで SetWindowDisplayAffinity を使用して画面キャプチャ時に特定ウィンドウを除外する
画面共有やスクリーンキャプチャ機能を実装する際、自アプリケーションのウィンドウをキャプチャ対象から除外したいケースがあります。例えば、会議アプリケーションではホストのメインウィンドウや録画インジケータが他端末に表示されないよう、透明化または非表示にする必要があります。この要件を満たすために、Windows が提供する Win32 API の SetWindowDisplayAffin ...
6月15日 20:59 投稿
WPFでConfigureAwait(false)を使うとUIスレッドで例外が発生する理由
WPFアプリケーションで非同期メソッドを扱う際、ConfigureAwait(false) を付けると UI 要素にアクセスできなくなるケースがよくある。次の最小構成で再現してみる。
画面定義(XAML)
<Window x:Class="Demo.AsyncAwaitWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/ ...
6月6日 21:26 投稿
WPFにおけるリストデータの追加・更新・削除実装
要件と実装ポイント
リストデータの操作機能を実装する場合、以下の要件を満たす必要があります:
テキスト入力フィールドからデータを追加
選択項目の内容を更新
選択項目の削除
主要な実装要素
DisplayMemberPathによるプロパティ表示指定
ObservableCollectionによる自動更新通知
INotifyPropertyChangedインターフェースの実装
ItemsSourceプロパテ ...
5月31日 22:09 投稿
Windows 7環境におけるAero2テーマのロードエラー
あるGUIツールを開発しており、同僚からWindows 7環境でインターフェースが正常に表示されないという報告を受けました。
調査の結果、ビューの初期化プロセス中にPresentationFramework.Aero2がロードできないことが判明し、以下の例外が発生していました:
{System.BadImageFormatException: ファイルまたはアセンブリ 'PresentationFramework.Aero2, PublicKeyToken=31bf ...
5月25日 19:30 投稿