かずきのBlog@hatena

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

Silverlight

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

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

XAMLは手書き?

Visual Studio 2008を使っていた頃や、Expression Blend 4を使うようになる前までは、断然XAMLは手書き派でした。 ただ、最近Expression Blend 4を使いだしてスタイルの編集やテンプレートの編集、アニメーション、グラデーションの設定などが、Blendでやっ…

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

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

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

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

ビヘイビア(Behavior)の作り方

Expression Blendにある便利機能ビヘイビア(Behavior)(Visual Studioからも使えます)ですが、こいつは自分で色々作ることが出来ます。 ビヘイビアといっても、純粋なビヘイビアと、アクションと呼ばれるトリガーとセットで使うものがあります。 ビヘイビアは…

Visual Studioから使うExpression BlendのBehavior達

Expression Blend 3あたりから取り入れられたBehaviorという便利な奴らがいます。これを使うとコントロールなんかのイベントに応答して何かしたりとかいうことをデザイナからポトペタで実行することができます。 このBehaviorの恩恵をフルに受けようと思うと…

Expression BlendのMVVMサポート機能とMEFの連携

Expression blendを見てると、MVVMをサポートした形のUserControlのテンプレートがあります。こいつは以下のようなコードを作成してくれます。

MVVMパターンでViewModelからスムーズにViewをアニメーションさせる方法

Model View ViewModelパターンを使ってると、ViewModelのアクションの後にViewをアニメーションさせたいということをやろうとすると、ViewModelからViewへ依存をさせないといけないのか・・・?とか、ちょっと悩んでしまいます。ViewModelからイベントを通知…

Expression Blendで外観をカスタマイズしたコントロールを作成する方法

WPFやSilverlightは、外観をごっそり入れ替えたコントロールを作ることが出来ます。Visual Studioでやろうとすると、XAMLがりがり書くはめになりますが、Expression Blendだと、簡単にできます。これ、本当に簡単すぎてびっくりしました。 ということで、Tex…

Expression Blendの超基本操作

とりあえず、これが出来なきゃ何も出来ない!っていうくらいの簡単なところからやっていこうと思います。コントロールを置いたり、位置を移動させたりというところです。 最初は、この操作をやるのにも、ちょっと手間取ったりしましたが、コツをつかめば簡単…

Expression Blend 4ことはじめ

Expression Blendが発表されてから長いこと食わず嫌いをしてましたが、最近触っててコイツなかなかいい奴じゃないかと思ってる今日この頃です。とりあえず、新しいソフトウェアをちゃんと使おうと思ったときにしているのは、全部のメニューを開いてみて、こ…

PathListBoxを使ってみた

Pathに沿ってアイテムを表示できるというPathListBoxを使ってみました。WPFでもSilverlightでも使えるみたいなので、とりあえずWPFアプリケーションで試してみます、Expression Blend4を起動して、PathListBoxTestという名前でWPFアプリケーションを新規作成…

WCF RIA Servicesで更新の処理を書いてみた

WCF RIA Servicesで更新ってどうやるのか見てみました。 基本的には、Silverlight側で変更箇所を記録しておいて、DomainContextのSubmitChangesメソッドで一括でサーバに送るといった寸法みたいです。 早速やってみました。 足場づくり RIAUpdateという名前…

Silverlight 4 Tools 正式版きた〜!

http://www.microsoft.com/downloads/details.aspx?FamilyID=eff8a0da-0a4d-48e8-8366-6ddf2ecad801&displaylang=ja 早速ダウンロードしよっと。楽しみ楽しみ。

WCF RIA ServicesでHello world

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

Visual Studio 2010のXAMLのインテリセンスが賢い件について

なんだか、前は出なかった気がするStyleのSetterタグでプロパティ名と値の部分にインテリセンスが出るようになってる・・・。 いつからだろうか?Silverlight 4 Toolsを入れてから???う〜ん、わからない。でも、非常に便利!!!これは、素敵な機能だ。が…

Windows XP + Silverlight 4の組み合わせで発生する不具合

Out Of Browserで実行している際に、WindowのClosingイベントを処理することが出来ると言うSilverlight4の新機能ですが、Windows XPだと、かなりの高確率で発生しません。 そのため、Windowを閉じるさいに一旦確認ウィンドウを出すようやアプリを組んでWindo…

Silverlight 4 Tools for Visual Studio 2010正式版登場(英語のみ)

英語版の正式版が今日出たみたいです。 http://www.microsoft.com/downloads/details.aspx?FamilyID=902a7539-c4b5-4e54-b4c9-1432daabe1e8&displaylang=en早速インストールしてみようぞ。 因みに日本語版は、Twitter上の噂だと6月上旬みたいです。

Visual Studio 2010のデザイナに仕事をさせて楽をする方法

Expression Blend 4のRCを入れて試してみたら見慣れない属性がタグについてた。 よく見てみると、デザイナを支援するためのものっぽい。Visual Studioでも無事動きました。何をするためのものかというと、デザイナ向けの設定をUserControlタグとかにすること…

Expression Blend 4 RCのダウンロード

URLがさっと出てこなかったのでメモ http://www.microsoft.com/downloads/details.aspx?familyid=88484825-1B3C-4E8C-8B14-B05D025E1541&displaylang=en

Silverlight 4でIMEは何処まで制御できるのか?

Silverlight 4になって、WPFと同じような感じでIMEの制御が出来るようになったみたいです。 TextBoxに InputMethod.PreferredImeConversionMode InputMethod.IsInputMethodEnabled InputMethod.PreferredImeState という3つの添付プロパティをつけることで…

Silverlight 4で少し変った画像ビューワ?を作ってみた

時間があったので作ってみました。 MVVMとBlendのBehaviorあたりを使っています。 完成予想図 起動すると真っ白の画面が表示されます。 ここに画像をドラッグアンドドロップすると表示されます。 複数の画像をドロップすることで複数表示させることが出来ま…

Silverlight ToolkitのControls BrowserのバグかSilverlightのバグらしきもの見つけた

自分で検証はしてないけど、とりあえずSilverlightの画面が真っ白になって戻ってこなくなるバグを見つけた。 再現手順 Silverlight Controls Browserを起動する http://silverlight.codeplex.com/ からSilverlight 4 samplesかonline Silverlight 3 samples…

IDataErrorInfoの汎用的な実装

INotifyDataErrorInfoの実装は、前の記事でやりました。 http://d.hatena.ne.jp/okazuki/20100418/1271594953ただ、INotifyDataErrorInfoはSilverlight4にしかないので、WPF4だとIDataErrorInfoとかプロパティでの例外で入力値の検証をしないといけません。 …

Silverlight 4のデータ検証 「汎用的なINotifyDataErrorInfoの実装」

前に汎用性の欠片も無い感じに実装して実験したINotifyDataErrorInfoですが、System.ComponentModel.DataAnnotationsと連携させる感じで汎用的に実装できます。とりあえず、INotifyDataErrorInfoとINotifyPropertyChangedを実装したViewModelBaseクラスは、…

Silverlight 4でMVVM + MEF + Navigation Frameworkのサンプル

とりあえず今までエントリとして書いてきたものをまとめて1つの小さなサンプルにしてみました。 ダウンロードは、こちらから。 Visual Studio 2010 Express Edition(英語) + Silverlight 4 Tools RC2で作ってます。超シンプルですが、起動すると以下のよう…

Silverlight 4が出ました!開発環境はRC2

タイトルの通りSilverlight4が出ました。 ↓のURLを開くとインストールするか聞かれます。 http://www.microsoft.com/japan/silverlight/Visual Studioのアドインは、以下からダウンロードできます。 http://www.microsoft.com/downloads/details.aspx?Family…

Infragistics Developer Days 7に行ってきた

セミナー参加してきたので、セミナーのメモ。 箇条書き部分がプレゼン資料の内容や、スピーカーの方が話した内容を要約したものです。 箇条書きではないところは、個人的な感想です。序盤頑張ってメモってたけど途中で力尽きてしまいました。 標準の.NET Fra…

PROJECT UX MIX10 レポート参加してきた

箇条書きが、セミナーで説明された内容。箇条書きじゃない部分が、説明時点で思ったこととか書かれてます。主に自分用メモです。 PROJECT UX MIX10レポート Tech Fieldersについての説明 MSだけじゃなくて現場の人も一緒に情報提供しようぜというスタンス MI…

NavigationFrameworkとMEFの連携

Silverlight 4 + MEF + NavigationFrameworkのお話。 MEFを使うと、動的に読み込んだXAPからクラスのインスタンスを取得したり出来るけど、これがNavigationFrameworkと、すこぶる相性が悪いです。どう悪いかって、例外が出て動かないくらい悪いです。という…