SourceChord

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

2014-01-01から1年間の記事一覧

ウィンドウをフルスクリーン化する添付ビヘイビア

以前↓のような記事を書きましたが、このようにウィンドウをフルスクリーン化する処理を添付ビヘイビアにしてみました。 WPFでフルスクリーン表示 - SourceChord

ファイルドロップ時にコマンドを実行する添付ビヘイビア

添付ビヘイビアの仕組みが結構便利だと思ったので、ファイルドロップ時にコマンドを実行させるための添付ビヘイビアを作ってみました。 FileDropAttachedBehavior.Commandという添付プロパティにRelayCommandをセットすると、ファイルドロップ時にコマンドが…

添付ビヘイビアを使って、任意のコマンド呼び出しを行う

以前、↓で書いたRelayCommandですが、これはCommandプロパティを持つコントロールでしか使用できません。 XAMLからViewModelのメソッドにバインドする~RelayCommand~ - SourceChordRelayCommandをバインドできるのは、↓みたいにCommandプロパティを持って…

添付ビヘイビアを作る

WPFやSilverlightなどのプラットフォームで、昔からよく使われていたテクニックで添付ビヘイビアというものがあります。 この手法は、後にBlendSDKにも取り込まれ、Behaviorという共通の実装がSDKに導入されています。ですが、ここはまず、自分で添付ビヘイ…

XAMLでズルいデザイン~その4・ズルいグラデーション・配色~

今度はグラデーションと配色についてです。 参考リンク ズルいデザインテクニック2013 + セミフラット version // Speaker Deck

XAMLでズルいデザイン~その3・ズルい背景~

ちょっと時間が空きましたが、今回は↓のスライドでズルい背景と紹介されていたものをWPFで作ってみます。 ズルいデザインテクニック2013 + セミフラット version // Speaker Deck

素数をひたすら列挙し続けるイテレータブロック

C#

はてブのホットエントリで素数ネタが話題になってたので、何となく作ってみました。yield returnを用いると、自分でIenumerableな形のシーケンスを生成することができます。 ということで、素数を延々と列挙し続けるシーケンスを作ってみました。 無限のシー…

Win8でComboBoxがDisable時にグレーアウト表示されない

WPF&Win8環境でComboBoxをDisable表示にしても、ComboBoxに表示しているコンテンツがグレーアウト表示になりません。 これは、文章で書くより、画面キャプチャとコード見た方が早いかも。 ComboBoxのIsEnabled=Trueの時の表示 この表示は特に問題ありません…

ぼかした画像のBrushを作るマークアップ拡張

以前↓で書いた、ぼかしを強烈にかけた画像を高速にする方法ですが、 WPFで強めのブラーを高速にかける - SourceChord これを、Brushとして使えるようにしてみました。 マークアップ拡張も作ったので、以下のようにImageBrushを使うような感覚でぼかしの効い…

マークアップ拡張を作って、XAMLでグラデーションを簡単に書く方法

マークアップ拡張って、結構便利!! マークアップ拡張は初めて作ってみたけど、覚えておくと結構便利かも。マークアップ拡張については、以下のリンクが参考になりました。 http://okazuki.hatenablog.com/entry/20130103/1357205143 http://d.hatena.ne.jp/k…

WPFで強めのブラーを高速にかける

普通にぼかしを強めにかけてみる 背景画像として、ぼやけた画像を使いたいことって、結構あると思います。 で、普通にこれをやると、こんな感じだと思います。 <Window x:Class="WpfBaseTemplate1.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Window1" Width="1024" Height="768"> <Grid> </grid></window>

VS2013向けのXAML Styler

XAML開発の定番拡張機能のXAML Stylerは、VS2013に対応してなくて残念に思ってたのですが、 XAML Stylerを、VS2013向けにビルドしなおして、VS Galleryに登録してくれた人がいるみたい。 Nico's digital footprint | Branching XAML Styler XAML Styler exte…

XAMLでズルいデザイン~その2・ズルいtext-shadow~

前回に引き続き、ズルいデザインで紹介されてた内容をWPFでマネしてみます。 今度は、文字の装飾をやってみたいと思います。 参考リンク ズルいデザイン(1):少ない手間と知識でそれなりに見せる、ズルいデザインテクニック (2/2) - @IT で、WPFでマネし…

XAMLでズルいデザイン~その1・ズルい線~

以前「ズルいデザイン」というスライドとかが話題になってましたが、その内容をWPFでマネしてみました。 参考リンク ズルいデザイン(1):少ない手間と知識でそれなりに見せる、ズルいデザインテクニック (1/2) - @IT ズルいデザインテクニック2013 + セミ…

WPFの開発用にコードスニペットを登録する

WPFのアプリ開発に役立ちそうなコードスニペットを作ってみました。 作ったのは、こんな感じのコードスニペットとか。 コードスニペットの作成方法は、↓の記事が参考になりました。 http://www.tk4.co.jp/develop/codesnippet/recipe.htmlコードスニペットの…

VSのプロジェクト・テンプレートを作成する

VisualStudioには、プロジェクトのテンプレートを、ウィザード形式で簡単に作る機能が備わっています。 で、さっそくWPF開発でよく使うファイルをまとめたテンプレートを作ってみました。テンプレートの作成には、↓の記事がとても参考になりました。 http://…

バインドしてるObservableCollectionを非UIスレッドから操作する

WPF4.5では、複数スレッドからのコレクション操作のサポートのために以下のメソッドが追加されました。 BindingOperations.EnableCollectionSynchronization メソッド (System.Windows.Data)これを使って、非UIスレッドからのObservableCollecion更新処理を…

Interactive Extensionsが便利そう

Reactive ExtensionsのメソッドをLinq to Objectsに移植したライブラリだそうです。 LINQ for Objectsにあったらいいな、と思うような便利な拡張メソッドが追加されます。

IEnumerable<IEnumerable<T>>をIEnumerable<T>にする

なんか文章にするとわかりにくいけど、 シーケンスのシーケンスを、フラットなシーケンスにする方法。うーん、かえって分かりにくい表現になってしまった。 とりあえず、これでできるっぽい。 SelectManyって案外便利かも。 // シーケンスのシーケンスとして…

Codeplex風デザインのボタンを作りました

Codeplexのボタンデザインを真似してみました。 出来上がったデザインはこんな感じ↓

キャプション付きの画像表示を行うサンプル

マウスオーバー時に、アニメーションしながらキャプション表示を行うControlTemplateを作ってみました。

Labelの上下と背景をグラデーションで装飾する

↓の記事で紹介されていた、テキストの上下と背景をグラデーションで装飾するというデザインを、WPFで真似してみました。 [CSS]テキストの天地に美しいグラデーションのボーダーと背景を適用するスタイルシート | コリス 結果はこんな感じ。

XAMLからViewModelのメソッドにバインドする~RelayCommand~

RelayCommand/DelegateCommand WPFなどのXAMLを用いたフレームワークでは、Commandを使ってXAMLからViewModelのメソッドを呼び出すためには、DelegateCommandとかRelayCommandと呼ばれるクラスを作ります。で、VMにこのコマンドのインスタンスを作成してXAML…

ブログのデザインをカスタマイズ

ブログのデザインを少し弄ってみました。 CSSはまるっきしわかんないので、いろんなとこを参考に真似してみたり、勘で適当にいじってみたり。

F#はじめました

なんとなくF#を使い始めてみました。 F#の勉強に役立ちそうなリンクをメモしときます。

NavigationServiceを拡張してちょこっと便利にする

WPFのページ遷移で用いるNavigationServiceクラスですが、微妙に痒いところに手が届かない感じです。 そこで、拡張メソッドで便利メソッドを追加してみました。

はてなブログへ移行しました

新年ということで気分を一新して、はてなダイアリーからはてなブログへ移行しました。 コメントやはてブの移行と、ページのリダイレクト設定もしてます。デザインとかは、まだデフォルト状態のままなので、気が向いたらカスタマイズもしていきたいな。