SourceChord

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

2014-02-01から1ヶ月間の記事一覧

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

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にあったらいいな、と思うような便利な拡張メソッドが追加されます。