C#
MVVMな設計でアプリを作るときの、よくある悩みとして、 VMから画面を閉じる処理をどうやればいいんだ?? というのがあります。これって、添付ビヘイビアを使えばスッキリ書けるのでは、、、と思い、 ウィンドウを閉じる動作を付加する添付ビヘイビアを作っ…
以前↓のような記事を書きましたが、このようにウィンドウをフルスクリーン化する処理を添付ビヘイビアにしてみました。 WPFでフルスクリーン表示 - SourceChord
添付ビヘイビアの仕組みが結構便利だと思ったので、ファイルドロップ時にコマンドを実行させるための添付ビヘイビアを作ってみました。 FileDropAttachedBehavior.Commandという添付プロパティにRelayCommandをセットすると、ファイルドロップ時にコマンドが…
以前、↓で書いたRelayCommandですが、これはCommandプロパティを持つコントロールでしか使用できません。 XAMLからViewModelのメソッドにバインドする~RelayCommand~ - SourceChordRelayCommandをバインドできるのは、↓みたいにCommandプロパティを持って…
WPFやSilverlightなどのプラットフォームで、昔からよく使われていたテクニックで添付ビヘイビアというものがあります。 この手法は、後にBlendSDKにも取り込まれ、Behaviorという共通の実装がSDKに導入されています。ですが、ここはまず、自分で添付ビヘイ…
今度はグラデーションと配色についてです。 参考リンク ズルいデザインテクニック2013 + セミフラット version // Speaker Deck
ちょっと時間が空きましたが、今回は↓のスライドでズルい背景と紹介されていたものをWPFで作ってみます。 ズルいデザインテクニック2013 + セミフラット version // Speaker Deck
はてブのホットエントリで素数ネタが話題になってたので、何となく作ってみました。yield returnを用いると、自分でIenumerableな形のシーケンスを生成することができます。 ということで、素数を延々と列挙し続けるシーケンスを作ってみました。 無限のシー…
WPF&Win8環境でComboBoxをDisable表示にしても、ComboBoxに表示しているコンテンツがグレーアウト表示になりません。 これは、文章で書くより、画面キャプチャとコード見た方が早いかも。 ComboBoxのIsEnabled=Trueの時の表示 この表示は特に問題ありません…
以前↓で書いた、ぼかしを強烈にかけた画像を高速にする方法ですが、 WPFで強めのブラーを高速にかける - SourceChord これを、Brushとして使えるようにしてみました。 マークアップ拡張も作ったので、以下のようにImageBrushを使うような感覚でぼかしの効い…
マークアップ拡張って、結構便利!! マークアップ拡張は初めて作ってみたけど、覚えておくと結構便利かも。マークアップ拡張については、以下のリンクが参考になりました。 http://okazuki.hatenablog.com/entry/20130103/1357205143 http://d.hatena.ne.jp/k…
普通にぼかしを強めにかけてみる 背景画像として、ぼやけた画像を使いたいことって、結構あると思います。 で、普通にこれをやると、こんな感じだと思います。 <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>
XAML開発の定番拡張機能のXAML Stylerは、VS2013に対応してなくて残念に思ってたのですが、 XAML Stylerを、VS2013向けにビルドしなおして、VS Galleryに登録してくれた人がいるみたい。 Nico's digital footprint | Branching XAML Styler XAML Styler exte…
前回に引き続き、ズルいデザインで紹介されてた内容をWPFでマネしてみます。 今度は、文字の装飾をやってみたいと思います。 参考リンク ズルいデザイン(1):少ない手間と知識でそれなりに見せる、ズルいデザインテクニック (2/2) - @IT で、WPFでマネし…
以前「ズルいデザイン」というスライドとかが話題になってましたが、その内容をWPFでマネしてみました。 参考リンク ズルいデザイン(1):少ない手間と知識でそれなりに見せる、ズルいデザインテクニック (1/2) - @IT ズルいデザインテクニック2013 + セミ…
WPFのアプリ開発に役立ちそうなコードスニペットを作ってみました。 作ったのは、こんな感じのコードスニペットとか。 コードスニペットの作成方法は、↓の記事が参考になりました。 http://www.tk4.co.jp/develop/codesnippet/recipe.htmlコードスニペットの…
VisualStudioには、プロジェクトのテンプレートを、ウィザード形式で簡単に作る機能が備わっています。 で、さっそくWPF開発でよく使うファイルをまとめたテンプレートを作ってみました。テンプレートの作成には、↓の記事がとても参考になりました。 http://…
WPF4.5では、複数スレッドからのコレクション操作のサポートのために以下のメソッドが追加されました。 BindingOperations.EnableCollectionSynchronization メソッド (System.Windows.Data)これを使って、非UIスレッドからのObservableCollecion更新処理を…
Reactive ExtensionsのメソッドをLinq to Objectsに移植したライブラリだそうです。 LINQ for Objectsにあったらいいな、と思うような便利な拡張メソッドが追加されます。
なんか文章にするとわかりにくいけど、 シーケンスのシーケンスを、フラットなシーケンスにする方法。うーん、かえって分かりにくい表現になってしまった。 とりあえず、これでできるっぽい。 SelectManyって案外便利かも。 // シーケンスのシーケンスとして…
Codeplexのボタンデザインを真似してみました。 出来上がったデザインはこんな感じ↓
マウスオーバー時に、アニメーションしながらキャプション表示を行うControlTemplateを作ってみました。
↓の記事で紹介されていた、テキストの上下と背景をグラデーションで装飾するというデザインを、WPFで真似してみました。 [CSS]テキストの天地に美しいグラデーションのボーダーと背景を適用するスタイルシート | コリス 結果はこんな感じ。
RelayCommand/DelegateCommand WPFなどのXAMLを用いたフレームワークでは、Commandを使ってXAMLからViewModelのメソッドを呼び出すためには、DelegateCommandとかRelayCommandと呼ばれるクラスを作ります。で、VMにこのコマンドのインスタンスを作成してXAML…
WPFのページ遷移で用いるNavigationServiceクラスですが、微妙に痒いところに手が届かない感じです。 そこで、拡張メソッドで便利メソッドを追加してみました。
Webサイトのナビゲーション風ボタンです。 ButtonのコンテンツにDropShadowEffectをかけて、ぼわっと光ってるように表示します。 こういう動作は、ButtonよりHyperLinkとして作った方が適切な気もするけど、 WPFのHyperLinkコントロール、使い勝手悪いし。。…
今回は、Web系のデザインでよくありそうなタイプのボタンを作ります。
ボタンのホバーエフェクト、さらに続きます。 今回も、xamlだけメモ。
昨日の続きで、また別のホバーエフェクトを真似してみました。 今回はblendの操作手順とかはなしで、xamlコードだけメモしときます。 てか、添付プロパティとかを多用してると、BlendのUI上からアニメーションの設定とかできない。。。 (ContentPresenter内…
cssでボタンのホバーエフェクトを色々紹介している、以下の記事が面白かったので、WPFで真似してみました。 http://www.nxworld.net/tips/css-only-button-design-and-hover-effects.html cssよくわからんから、なんとなーく真似してるだけですが。。。W ↓…