WPF

コンピュータ

WPFのコントロールを3つに分類する「ContentControl / ItemsControl / Panel」

WPF のコントロールは種類が多く、公式ドキュメントを見ても体系的に理解しづらいと感じることがあります。しかし、**「中身をどう扱うか」**という観点で見ると、WPF のコントロールは 概ね3 種類 に整理できます。 ContentCont...
コンピュータ

WPFのButtonからみるContentControlの特徴について

WPF は XAML とデータバインディングを中核に設計されたフレームワークです。そのため、特別な理由がない限り、フレームワークの流儀に逆らわないのが大人の対応と言えるでしょう。XAML は、View オブジェクトを 静的な宣言として表現す...
コンピュータ

C#のWPFでメモ帳を作る

WPFのコードビハインドでアプリを作る基本形としてシンプルなメモ帳を作成しました。構成として、WindowにTextBoxを貼り付けただけです。メニューの処理は、System.Windows.Input.ApplicationCommand...
スポンサーリンク
コンピュータ

Mutex と NamedPipe で アプリの二重起動を禁止しながらコマンドライン引数を渡す

メモ帳はなぜタブで開くのかエクスプローラーでテキストファイルをダブルクリックすると、メモ帳が起動し、そのファイルが開かれます。その状態のまま、エクスプローラーで別のテキストファイルをダブルクリックすると、新しいメモ帳は起動せず、既に起動して...
コンピュータ

WPFで作る「画像プレビュー機能付き・画像編集アプリランチャー」

エクスプローラーから、関連付けで起動し画像を確認、ペイントツールにつなげるツールです。想定ユースケース 画像をダブルクリック→ ImageLancher が起動→ まず画像を確認 「これ、どのツールで編集しよう?」→ コンテキストメニューか...
コンピュータ

WPFでエクスプローラーのカレントディレクトリを取得するツール

エクスプローラーで開いているディレクトリのパスを、ほかのアプリケーションでファイルを開く際のパスとして使いたい、という場面があります。プロセス間通信などの高度な仕組みを使わなくても、ディレクトリのパスをクリップボードにテキストとして渡すだけ...
コンピュータ

WPFでアプリ全体の例外を捕まえる方法

アプリケーションのコード内で個別に例外を処理するのが面倒なので、アプリケーション全体の例外を補足し処理する方法を調べてみました。ソースコードApp.xaml.csusing System.Diagnostics;using System.W...
コンピュータ

C#のWPFでファイルマネージャを作る:フォルダの作成、名前の変更対応

WPFでファイルマネージャを作成しています。今回はフォルダの作成、名前の変更機能を追加します。前回の記事GitHubリポジトリ(最新)ソースコード追加変更部分ファイル名RenameDialog.xaml.csusing System.Win...
コンピュータ

C#のWPFでファイルマネージャを作る:コピー・切り取り・貼り付け対応

WPFでファイルマネージャを作成しています。今回はファイルのコピー・切り取り・貼り付け機能を追加します。前回の記事GitHubリポジトリ(最新)ソースコード追加変更部分ファイル名:MainWindow.xaml変更部分のみ抜粋 <!-- コ...
コンピュータ

C#のWPFでソースコード表示機能付きWebブラウザを作る。

WebView2 は、WPF アプリケーションに最新の Web 表示機能を組み込むためのブラウザエンジンです。本記事では WebView2 を使って簡易的な Web ブラウザを実装し、実際に画面に表示されているページの HTML(JavaS...
コンピュータ

WPF+WebView2 で HTML → PNG を生成する実装例

HTMLファイルをレンダリングした状態で、スクリーンショットを取得し画像ファイル化するサンプルコードです。レンダリングにWebView2を使うのは、大掛かりかつ、遅いですがとりあえず出来ることが確認出来たので、何かでつかう場面もあるかもしれ...
コンピュータ

C#のWPFでファイルマネージャを作る

古いエクスプローラーのような見た目のファイルマネージャをWPFの標準コントロールで実装する試みです。TreeViewやListViewなどでデータバインディングは行っていますが、基本イベントドリブンをコードビハインドで記述するスタイル。Gi...
コンピュータ

WPFでPath の図形の範囲内か?判定するコード

マウスカーソルが、図形内にあるとカーソルが指のアイコンに変化するコードです。範囲判定も、自前で書こうとうすると中々大変そうなので、ライブラリの機能をありがたく使わせてもらいます。ソースコードファイル名:HitTestSample.cspro...
コンピュータ

WPF × WebView2 × バニラJSで作るWebUI 「XAML無し版」

xamlとhtmlでviewの役割が被るので、xaml無し版を作成してみました。XAML有り版ソースコードファイル名:webui_02_vanillajs.csproj<Project Sdk="Microsoft.NET.Sdk"> <P...