WPF

コンピュータ

WPFパネル系コントロールによるレイアウトの概要

UIパーツの自動レイアウトはWPFの特徴の一つです。個人的にはWinFormsに対してWPFが優れている部分だと考えています。この自動レイアウトは以下で述べるパネル系コントロール上で配置することで実現されますが、どのコントロールを使えばよい...
コンピュータ

WPFのWindow.Close()でIDisposableリソースを解放する実装例

コードビハインドでウィンドウが閉じられたタイミングでDispose()が必要なプロパティを解放するサンプルコードusing System;using System.Windows;using System.Diagnostics;names...
コンピュータ

WPFのBitmapSourceからOpenCVSharpのMatへ変換する方法

BitmapSource→Matへの変換パッケージのインストールdotnet add package OpenCvSharp4dotnet add package OpenCvSharp4.runtime.windotnet add pac...
スポンサーリンク
コンピュータ

WPFでImage上のマウス座標を取得するサンプルコード

マウスカーソルの座標を取得します。ソースコードファイル名:MouseOnImageXY.csproj<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>WinExe</...
コンピュータ

WPFとは?WinFormsとの違いや将来性について考える

WPFを学んでいくと、最終的には「WPFはビジネスアプリケーションを作るために特化したフレームワーク」という結論にたどり着きます。特化しているということは、裏を返せば汎用性が犠牲になっているということで、実際、自由度の面ではWinForms...
コンピュータ

WPFをWinFormsライクに使う:Grid+GridSplitterで左右ペインを作る

ウインドウ内を左右に2分割し、中央のツマミ(GridSplitter)を左右に操作することで領域を増減させます。ソースコードファイル名:gridSplitterSample.csproj<Project Sdk="Microsoft.NET...
コンピュータ

WPFをWinFormsライクに使う:Windowを作る

WPFでWindowを作る場合、まずwpfのプロジェクトを作り、せっかく生成されたソースファイルを、.csproj以外全て削除します。cd (mkdir "プロジェクト名")dotnet new wpf -f net8.0ls * -Fil...
コンピュータ

XAMLで始めるWPF入門:カスタムコントロールで作るズーム・パン機能付きImageコントロール

マウスホイールで拡大・縮小機能、ドラックで移動機能を付与したImageコントロールを作成しました。カスタムコントロールですので他プログラムで再利用しやすいかと思います。ソースコードファイル名:Controls\ScrollableImage...
コンピュータ

XAMLで始めるWPF入門:カスタムコントロールで作るスクロールバー付きImageコントロール

Imageコントロールで画像サイズが大きい場合、スクロールバー自動有効化されるカスタムコントロールです。ScrollViewerとImageを組み合わせれば比較的簡単に実装出来るのでカスタムコントロールにしてみました。ソースコードファイル名...
コンピュータ

XAMLで始めるWPF入門:アプリの終了時にReactivePropertyをDisposeするコード

ReactivePropertyはWPFのViewModelでバインド可能なプロパティを簡単に生やすことが出来て非常に便利です。ただ、IDisposableなので使用後にDispose()を呼ぶ必要があります。使い方次第ですが、アプリの終了...
コンピュータ

C#のWPFでEXEファイルのアイコンを抽出するコード

WPFでアイコンを扱う場合System.Drawingを使う方法がありますが、今回はWindowsAPIを使う方法を試してみます。サンプルコード動作確認のためにコンソールアプリで、notepad.exeのアイコンを取得しpngファイルとして...
コンピュータ

C#のWPFでアプリケーションアイコンを設定する方法

・icoアイコンファイルの配置例:Assets/App.icoMyApp/ MyApp.csproj Assets/ App.ico・プロジェクトファイル(.csproj)<Project Sdk="Microsoft.NET.Sdk"> ...
コンピュータ

WPFで画像ファイルの寸法(幅、高さ)を高速に取得する。

画像ファイルを表示するために、事前に幅や高さが知りたい場面があります。一般的な方法として画像オブジェクトのWidth(PixelWidth)やHeight(PixelHeight)を参照するとで知ることが出来ます。ただ、その方法の場合、画像...
コンピュータ

WPFをWinFormsライクに使う:コードだけでシンプルなプログラミングスタイル

WPFと聞くと「XAMLでUIを定義してMVVMで組み立てる」というイメージを持つ人が多いと思います。確かにそれは王道ですが、すべての場面で必要とは限りません。実際には、WinFormsのようにコードだけで画面を構築し、シンプルにイベント処...