かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

コードサンプル

MVVM入門 その1「シンプル四則演算アプリケーションの作成」

ということでコードレシピにサンプルプログラムを投稿しました。以下から参照できます。とりあえず、簡単な四則演算を行うアプリケーションをテーマに書いてみました。ミスってるところや説明がおかしいと思われるところはがんがんコメントしてください。随…

ContextMenuでのBinding時の注意事項

コードレシピにサンプルプログラムを公開しました。 ContextMenu内のアイテムのBinding時の注意事項 この問題はtrapemiyaさんが遭遇した問題でTwitter上でやり取りしてる間に行きついた解決策になります。 自分でもはまりそうだと思ったので、将来の自分のた…

RenderTransformOriginを使用してアニメーションの支点を指定する

MSDNフォーラムに、このことを聞いてる質問があったのでコードレシピにサンプルプログラムをアップしました。以下の記事になります。 右上を支点にして縮小するアニメーションのサンプル 記事中では触れてないですが、こういうアニメーションの定義はExpress…

ViewModelのプロパティの変更を監視してアクションを実行する方法

コードレシピにサンプルをアップしました。はてなダイアリーより書きやすくていい!!!記事はこちらになります。 ViewModelのプロパティの変更を監視してアクションを実行する方法

MVVMパターンでVMからVを操作する Prism編

Prismをダウンロードして、MVVMのサンプル実装を見てるとMVVMパターンなのにダイアログ出したりしてたので、どうやってるか見てみたら、便利なクラスが用意されてました。定義されているアセンブリは Microsoft.Practices.Prism.Interactivity.dll です。 使…

T4 TemplateでViewModelを生成する その3「Commandにも対応」

前のやつにCommandも定義出来るように追加してみました。 namespace VMDsl { using System.Collections.Generic; // 名前空間 public class NSDef { public NSDef() { this.Classes = new List<ClassDef>(); } public string NS { get; set; } public List<ClassDef> Classes { g</classdef></classdef>…

T4 TemplateでViewModelを生成する その2「DSLちっくにする」

前回たたき台を作ったMVVM生成のためのT4 Templateですが正直あんまり楽になった気がしないです。何故かというと、クラスのメタデータの定義が非常に冗長な感じになってたからだと思います。 1プロパティしかないクラスを定義するだけで、20行以上も書かな…

T4 TemplateでViewModelを生成する その2「DSLちっくにする」

前回たたき台を作ったMVVM生成のためのT4 Templateですが正直あんまり楽になった気がしないです。何故かというと、クラスのメタデータの定義が非常に冗長な感じになってたからだと思います。 1プロパティしかないクラスを定義するだけで、20行以上も書かな…

T4 TemplateでViewModelを作る

ちょいと作ってみた。 これをひな形にやっていけばいかなぁ。もっといい方法とかあるよ!って人は教えてください。 ClassDef.ttinclude とりあえずクラスのメタデータを定義するためのクラス群 <#+ // 名前空間 class NSDef { public string NS { get; set; …

Reactive Extensions 応用「ドローイングツール」

入門ばっかりで飽きてきたので、応用的なものを作ってみました。因みにWPFアプリケーションです。 各種イベントを監視するObservableを用意します。 // マウスダウンイベント var mouseDown = Observable.FromEvent( (EventHandler<MouseButtonEventArgs> h) => new MouseButtonEve</mousebuttoneventargs>…

Frameを使ったナビゲーションの間にアニメーションを入れる

SilverlightのFrameを使ったナビゲーションですが、こいつはパッパッと切り替わる感じです。RIAっぽくないです。 RIAっぽくしようと思うと、何かしらのアニメーションをやってみたいってもんですよね。 やり方は簡単で、Visual Stateを2つ定義して、片方は…

ListBox間のアイテムの移動をアニメーションさせる

ここ最近お気に入りのFluidMoveBehaviorですが、ListBox間のアイテムの移動もアニメーションさせることができます。 まず、ListBox2つ置いてある画面に対応するViewModelを用意します。 namespace ListBoxItemMove.ViewModels { using System.Collections.Ob…

滑らかに動くListBoxをBlendで作ってみた

とりあえず、ベースとして以下のようなアプリケーションをVisual Studioで作りました。非常にシンプルなので作り方は割愛します。 Addボタンを押すと、現在の日付を追加して、ListBoxでアイテムを選択してRemoveボタンを押すと、その要素が削除されます。 今…

Expression Blend 4で丸いボタンを作ってみた

動画撮影の練習も兼て丸いボタンを作ってみました。マウスをボタンの上に持っていくと色がじわ〜っと変化したりクリック時にポコッと動いたりします。 作り方は、以下からどうぞ。今回は、YouTubeで画質あげれば超綺麗に見えるはずです! ニコニコ動画にもア…

MVVMパターンのViewとViewModelの分離具合がどんなものか試してみた

id:griefworkerさんが連載で作ってたGAE + Silverlightのタスク管理アプリケーションは、非常に参考になると思います。 Google App Engine + Silverlight でタスク管理アプリケーション開発(1) Google App Engine + Silverlight でタスク管理アプリケーショ…

WCF RIA Servicesで複雑なエンテティを戻り値にする方法

自分で作ったクラスをエンテティとして扱うDomain Serviceを公開する場合に、プロパティがプリミティブ型だけで構成される場合は、主キーとなるプロパティにKey属性をつけるだけで普通に使えます。 しかし、プロパティの型が、さらに別のクラスだったりする…

MVVMパターンでVMのメソッド実行前後に処理をしたいことってあるよね? その2

前にも同じような話題でBlogを書いた記憶があるので、その2にしてます。先日紹介したBehaviorを使うと、簡単にこのようなことが出来ます。例えば、ありがちなパターンとして、メソッド実行前に確認ダイアログを出したい!!という場合には以下のようなBehav…

COBOL User Interface(CUI)について

非常に面白いと感じたCUIについての記事がありました。 http://love-motif.com/article/art_16.shtml COBOL時代のインターフェースを今に受け継ぐものっぽいです。この時代の経験がない私から見ると、こういう感じだったのかということが毒舌気味に書いてあ…

WCF RIA ServicesでHello world

Silverlight4 Toolsの正式版(英語版じゃないと使えないけど)が出てWCF RIA Servicesも正式なものになりました。ということで、ここらへんで軽くHello worldをしてみたいと思います。 作ろうと思うアプリケーションは、WCF RIA Servicesのデモではおなじみ…

3の倍数と3のつくデータの時に背景が緑色になるDataGrid

しょうもないプログラムですが、DataGridの背景をデータに応じて変えるというプログラムのサンプルになればと思って書きます。 まずたたき台となるプログラムを作ります。 (adsbygoogle = window.adsbygoogle || []).push({}); WpfDataGridSampleというプロ…