SourceChord

C#とXAML好きなプログラマの備忘録。最近はWPF系の話題が中心です。

C#

ResponsiveGrid 0.3.1をリリースしました

以前、WPF/UWP向けにResponsiveGridというライブラリを作りました。 このライブラリですが、GitHubのIssuesで不具合報告もらったので修正してリリースしました。 今回のアップデートはバグフィックスのみです。

OpenCVで浮動小数点形式の画像バッファを使ってみる

今までのサンプルコードでは、CV_8UC3のよう形で各要素ごとunsigned charなデータで画像バッファを扱っていました。 OpenCVでは、Mat型のインスタンスを作成するときの引数指定で、 16bit整数型や浮動小数点型などの形式のバッファも作れるようになっていま…

OpenCvSharpでマウス・キーボード入力を扱う

OpenCVで作成したウィンドウで、マウスやキーボードの入力を扱ってみます

OpenCVでパラメータ操作用ウィンドウを作ってみる

以前、OpenCVSharpで作成したウィンドウに、スライダーを付けてみました。 http://sourcechord.hatenablog.com/entry/2016/08/21/202200 このスライダーを活用し、スライダーだけが並んだウィンドウを作ることができます。 画像を表示しているウィンドウ上に…

OpenCVで色々な画像生成

今回もOpenCvSharpネタ。 今度はちょっと脱線気味。 OpenCVでピクセル操作や図形描画機能を使って、いろんな画像を生成してみます。

画像をHSV色空間に変換して表示

引き続き、OpenCvSharpネタです。 CvtColor関数で、通常のRGB色空間の画像データから、HSV色空間のデータに変換できます。

OpenCvSharpで作成したウィンドウにスライダーを付けてみる

OpenCvSharpで作成したウィンドウに、スライダーを付けてみます。

OpenCvSharp3入門

前回に続き、再度OpenCvSharpネタです。 色々使ってみたので、使い方などを一通りメモしときます。 参考情報 OpenCvSharpのC++API対応についての説明 http://schima.hatenablog.com/entry/2014/03/29/140106 OpenCvSharpのWiki。ここのC++ APIの部分など。 h…

OpenCvSharp3を使ってみた

以前、C#からOpenCVを扱うためのラッパーライブラリのOpenCvSharpというライブラリを使ってみました↓ http://sourcechord.hatenablog.com/entry/2014/09/22/010344 OpenCV3.0に対応した、このライブラリの新バージョンOpenCvSharp3を使ってみたのでφ(..)メモ…

WPF/UWP用にBootstrap風Gridレイアウトを行うライブラリを作ってみた~ResponsiveGrid~

超定番cssフレームワークBootstrapのグリッドシステムのようなレイアウトをXAML環境で行うためのライブラリを作ってみました。 WPF/UWPともに、Nugetから以下のパッケージをインストールすることで使えます。 NuGet Gallery | ResponsiveGrid 0.3.1 (WPF/UWP…

WPFでの入力値検証・まとめ

今まで何回かに分けて書いてきたWPFのバリデーション関係ネタについて、自分でもわりと見返すので、この入力値検証関連の記事をまとめておきます。 あと、各種バリデーション方法のサンプルコード一式を、以下のリポジトリに上げておきました。 色々書いたブ…

WPFでの入力値検証・その9 ~エラー表示のローカライズ~

ずいぶん久しぶりだけど、WPFの入力値検証ネタ。 以前↓みたいなのをやりましたが、 このDataAnnotationsを使ったバリデーションを行う際に、エラーメッセージのローカライズをしてみました。

WPF用にLightBox的なポップアップ表示をするライブラリを作ってみた

こんな風に、LightBox的なダイアログ表示を行うライブラリを作ってみました。

MahApps.Metroを使ってみた

お手軽にWPFアプリにモダンなデザインを適用できる、MahApps.Metroというライブラリを使ってみました。 MahApps.Metro Documentation この手のモダンなデザインを適用するライブラリでは、 Modern UI for WPF(MUI)というのもあります。 まだちょろっと使って…

Nugetギャラリーにライブラリを登録するまでの手順

WPF用のちょっとしたライブラリを作って、初めてNugetに登録してみました。 ライブラリ自体はまだまだ作りかけの状態ですが、とりあえず登録までの手順をφ(..)メモメモ

WPFでLightBox風のポップアップ表示をするサンプル

WPFでLightBox風のポップアップ表示を行うサンプルを作ってみました。 コードはこちら↓

Nugetでパッケージを作ってみる

Nugetパッケージを作ってみたので、作り方を少しメモしときます。 実際にやってみると、思ってたよりだいぶ簡単に作れそうです。 Nugetのパッケージを作るには、以下の二通りの方法があります。 Nuget.exeなどのコマンドラインツールから作成 Nuget Package …

WPFでシンプルな独自ナビゲーション処理のサンプルを書いてみた

WPFに標準で用意されてるナビゲーション系のクラス類が何かと扱いにくいので、もうちょいシンプルな独自のページ遷移を行うサンプルを書いてみました。

WPF向けにRelativePanelなどを実装したライブラリ~UniversalWPF~

↓のブログを読んでいて知りました。 UniversalWPF dotMorten/UniversalWPF · GitHub こんなコントロールを作ってくれてる方がいたんですね!! WPF用にRelativePanelやSplitViewを作ってくれてます。スバラシイ!!

AvalonEditを使ってみた

AvalonEditとは http://avalonedit.net/ .net環境で使える超高機能なテキストエディタのライブラリです。 シンタックスハイライトや、複数行の折り畳み機能、コード補間などの機能をもったエディタをお手軽に作ることができます。 C#でVisualStudio的なIDEを…

OpenCvSharpを使って、画像中の不要オブジェクトの除去をしてみる

OpenCVのInpaintメソッドを使って、画像内の不要なオブジェクトの除去をしてみました。 OpenCVの↓のメソッドをOpenCVのC#向けラッパーライブラリOpenCvSharpを利用して呼び出してみます。 http://opencv.jp/opencv-2svn/cpp/miscellaneous_image_transformat…

UWPのPopup/Flyout/Dialog系のコントロール

UWPで何らかのポップアップのようなUI要素を表示するコントロールの使い方をまとめてみました。

UWPのImageスケーリング方法~NineGrid~

WinRTのImageコントロールにはこんなプロパティあるんですね。 NineGridというプロパティがあってこんなことができるみたいです。 https://msdn.microsoft.com/ja-jp/library/windows/apps/windows.ui.xaml.controls.image.ninegrid.aspxWin8からあったみた…

UWPのAppBarの作り方

Win8/8.1のストアアプリなどと同じようにUWPにもAppBarがあります。 UWPでは、Win8系よりもいろいろと柔軟に実装できそう。

UWPのアイコン表示用のクラス

UWPでは、アイコン表示に便利な以下の4つのXAMLの要素があります。 これはUWPで追加になった要素ではなく、Win8系のストアアプリからあったものです。 ですが、UWPアプリ開発ではあちこちで使いそうなので、WPFからの移行組として、改めてざっと触ってみよう…

SplitViewを使ってみる

Win10のUWPではあちこちで使うことになりそうなコントロール。SplitViewを使ってみます。 これは、横からニョキっと出てくるメニューみたいなのを作るときに使うコントロールです。標準のアプリでもこういうメニューがあちこちで使われてますね。

RelativePanelを使ってみる

UWPでは、新たなUIレイアウト用のパネルとして、RelativePanelというものが加わっています。 このパネルで設定する各種プロパティをメモしときます。

WPFにもx:Bind欲しいよね

UWPで追加されたx:Bind。とても便利ですね。 で、この機能WPFにも欲しい!!と思ったりするわけです。VisualStudioへの要望などを投票する、↓のサイトを見てみると、WPFにx:Bind追加してほしいって要望にたくさんの投票が集まってます。http://visualstudio.us…

UWPで追加されたバインディングの新機能~x:Bindマークアップ拡張~

UWPではコンパイル時にバインディングを行うx:Bindマークアップ拡張という機能が加えられました。 今までのBindingマークアップ拡張よりもパフォーマンスが良かったり、コンパイル時の型チェックができたり、と色々メリットがあります。 (ダックタイプ的なバ…

UWP & C#6.0のデータバインディング

WPFやWin8/8.1アプリでは、XAMLにバインドしたときに更新通知を行うためのINotifyPropertyChanged実装を楽にするために共通の基底クラスとしてBindableBaseというようなクラスを作ったり、ICommandの共通基底クラスとしてRelayCommand/DelegateCommandなどと…