コンピュータ

WPFのコードビハインドとデータバインディングの関係

WPFではUIを構築する方法として、コードビハインドによるイベントドリブンとデータバインディングという2つの考え方があります。この2つは対立するものではなく、役割が異なる仕組みです。また、どちらか一方だけでもアプリケーションを作成することは...
コンピュータ

WPFレイアウトまとめ(基本事項)

WPFのレイアウトは「自動レイアウト」が前提です。固定サイズ指定で組むよりも、親コンテナ(Panel)に配置ルールを持たせて組み立てる方が破綻しにくく、拡張もしやすいです。1. コントロールは基本的に親の領域いっぱいに広がるWPFのコントロ...
コンピュータ

WPFよく使うコントロール一覧

レイアウト系 Grid 行・列でレイアウトする。WPFで最頻出。 StackPanel 縦 or 横に順番に並べる。 DockPanel 上下左右に寄せて配置する(最後の子を残り領域にすることも可能)。 Canvas 絶対座標で配置する(図...
スポンサーリンク
コンピュータ

WPFのAttachedPropertyでコマンドをバインディングするサンプルプログラム

やっていることは、クリックしたマウスの座標をMessageBoxで表示するだけです。コードビハインドでは、XAML側でCanvasにx:Nameを付けて、Clickイベントに対応するメソッドを記述するだけなので、ほんの数行のコードで済みます...
コンピュータ

C#でnamespace(名前空間)にエイリアス(別名)を付けることで名前の衝突を避ける。

OpenCVSharpを使っていて、RectやPointなどのクラスの名前がWPFなどの既存のクラス名と被ることがあります。namespaceのエイリアスを定義することで回避出来るとのことですので調べてみました。基本的な書き方using S...
コンピュータ

WPFヘルパー: SelectionCropper.cs – 矩形選択

SelectionCropper.cs// 矩形選択using System.Windows;using System.Windows.Controls;using System.Windows.Input;using System.Win...
コンピュータ

C#からTesseract OCRを扱うサンプルコード

NuGet パッケージ追加dotnet add package Tesseracttessdata の取得GitHubのリポジトリjpn.traineddatajpn_vert.traineddataを ./tessdata フォルダに配置...
コンピュータ

WPFヘルパー:Gd.cs – GirdのColumnDefinitionsとRowDefinitionsの定義を短くするヘルパー

Gd.cs// GirdのColumnDefinitionsとRowDefinitionsの定義を短くするヘルパーusing System.Windows;using System.Windows.Controls;namespace Ma...
コンピュータ

WPFヘルパー:FileDropHelper.cs – ファイルDropをサポートするための Attached Property を提供するクラス

FileDropHelper.cs// ファイルDropをサポートするための Attached Property を提供するクラスusing System;using System.Linq;using System.Windows;usi...
コンピュータ

WPFでResourceDictionaryを使い共通のスタイルをテーマファイルとして集約する。

MayworkTheme.xaml <!-- MayworkTheme.xaml --><ResourceDictionary xmlns=" xmlns:x=" <!-- ============================= -->...
コンピュータ

WPFヘルパー:ImageScaleHelper.cs – 画像のズームとパンを提供するヘルパークラス「AttachedProperty版」

XAMLでプロパティを1つ追加するだけで、マウスホイール+Ctrlよる画像の拡縮、ホイールのドラックよるパン(スクロール移動)機能を拡張します。ファイル名:ImageScaleHelper.cs// 画像のズームとパンを提供するヘルパークラ...
コンピュータ

WPFのContentControlを使いListViewの選択Itemのクラスで編集UIを切り替える。

DataTemplateを使うと、ContentControlの中身を切り替えることが出来るので、ListViewの選択したItemのクラスでUIを切り替えるサンプルコードを作成しました。実行例:左側はListViewで、「タイトル」「明る...
コンピュータ

WPFでImageのSourceが変更されたらスクロール位置を初期化するAttached Property

ImageにはSourceの変更を通知するイベントは存在しませんが、DependencyPropertyDescriptor.FromProperty()でImageのSourceプロパティを監視し、変更があった場合SourceChange...
コンピュータ

WPFでTextBoxがフォーカスを得たときに背景色を変える Attached Property

Attached Properyの使い方を確認のためのサンプルコードです。起動イメージTextBoxがフォーカス得た状態FocusHelper.cs// TextBox や Button などの Control に、フォーカスを得たときに背...