かずきのBlog@hatena

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

MVVM

JPG画像の一括劣化ツール

ちょっと一括で劣化させたかったので作ってみました。需要は無いし、サンプルというにはアレなのでSkyDriveのほうにこっそりとアップ。 バイナリ 画像劣化まん.zip コード ImageConverter.zip

Kinkuma Framework 1.2.4を公開しました

CodePlexでも公開していますが、NuGetが楽に導入できます。 http://okazukimvvmsupport.codeplex.com/ 今回追加した機能は以下の機能です。 SaveFileDialog/FileOpenDialog用Actionの追加 インストール NuGetが楽です。Prismで検索するかKinkumaFrameworkで…

PrismベースのMVVMフレームワーク KinkumaFramework 1.2.3をnugetに追加しました

最近作ったPrismのMVVMサポートのクラスを使って作ったMVVMに必要そうなクラス群のKinkumaFrameworkのバージョンを1.2.2から1.2.3に更新しました。今回のバージョンアップによる追加のクラスはありません!ということで変わった点を紹介したいと思います。 V…

MVVMでファイルを開くダイアログを使う(View完結とViewModel経由)

さて、今日はリクエストをもらいました。以下のをやる方法を考えてみようと思います。 MVVMでボタンを押したらフォルダ参照ダイアログを出したい!こいうときは、Button Command InteractionRequest FolderBrowseActionって感じかなー?2011-04-04 12:34:06 …

MVVMパターンでコマンドの実行前に確認ダイアログとか出したくない?

前にも同じようなタイトルでBlogを書いてますが、今回は別の方法です。 前の記事:M-V-VMパターンでViewModelのコマンド実行後に何か処理したいよね 前のBlogの記事から大分時間が経って、今やるならという感じで書いてみます。 コマンド実行前に確認ダイア…

PrismをベースにしたMVVMフレームワーク更新しました

先日公開した、PrismをベースにしたフレームワークですがKinkumaFrameworkという名前にしました。きんくまは、Google画像検索すると山のように出てくると思います。現在はトリガーアクションの充実と、ドキュメントの作成をやっています。ドキュメントは、ま…

PrismベースのMVVMライブラリを作りました

バージョン4からMVVMのサポート機能が追加されたpatterns & practices: Prismですが、Prismのコードネーム?がComposite Application Guidance for WPF and Silverlightだったことからもわかるように、もともとMVVMを視野に入れて作られたライブラリではあり…

PrismベースのMVVMライブラリをnugetに登録してみた

ついでなので、前の記事で作成したライブラリをnugetに登録してみました。一緒にVisual StudioのデザイナでBehaviorをサポートするライブラリもnugetに追加したのでセットでお得? 2011/04/05追記 okazuki.mvvm.libraryからKinkumaFrameworkに変更しました。…

PrismのDelegateCommandとCommandManagerの連携

Prismは好きなんですがDelegateCommandのCanExecuteイベントハンドラが弱参照でイベントハンドラを持っているのと、CommandManagerのRequerySuggestedイベントも弱参照でイベントハンドラを持っているので、以下のようなコードを書くと、GCが走るとイベント…

PrismのDelegateCommandのかわり

Prismに不満はないようなあるような感じの今日この頃です。DelegateCommandのCanExecuteChangedイベントは自分で明示的に発生させないといけない作りになってたりします。Silverlightなら、CommandManagerがいないからそれでもいいんだけど、WPFだとCommandM…

T4 TemplateでViewModelの生成をするアイテムテンプレートを作りました

以前にも何度かT4 Templateを使ってViewModelの記述を簡略化する方法を書いてきました。 T4 TemplateでViewModelを生成する その3「Commandにも対応」 ViewModelのコードの自動生成機能とアイテムテンプレートを作ってみた これまでの方法の課題 ただ、この…

TextBoxで入力内容を変更してなくても検証処理を走らせたい

先日書いた画面が表示された直後に入力値の​妥当性検証を行い画面にフィード​バックをする方法ですが、MSDNフォーラムの元質問者の方からコメントをいただけました。 私の方で悩んでいた部分としては、初期化時にエラーにしたいのではなく、「画面初期化時は…

画面が表示された直後に入力値の​妥当性検証を行い画面にフィード​バックをする方法

MVVMパターンでSilverlightでアプリケーションを組んでて画面が表示された時から入力値の妥当性検証をしておきたいという要望があるとします。簡単にできるだろうと思ってたら、結構実装に時間がかかったので備忘録がわりにメモしておきます。 ちなみにネタ…

MVVM開発ってやっぱりExpression Blend無いとめんどくさいと思うようになってきた・・・

Expression Blend触ってて気づいた機能がありました、BehaviorのところにあるCallMethodActionの設定とかドラッグアンドドロップだけで出来るんですね・・・。あとは、ViewModelのDataContextの設定とか、その他もろもろがGUIでサクサクっと出来ちゃう。これ…

コントロールのDependencyPropertyじゃないプロパティとViewModelのプロパティをBindingする

先日の私の書いたViewのコントロールの非DependencyPropertyのプロパティの値をViewModelのプロパティに設定する方法に対してid:wave1008さんが早速レスポンスを返してくれました。 コントロールプッシュかViewModelプルか そちらからの引用になりますが、私…

コントロールのDependencyPropertyじゃないプロパティをViewModelに設定する

『「MVVMのメリット・デメリットを見つめなおす」を読んで』を読んで Silverlightで業務アプリを作るために越えるべき7つの壁(12) 上記の記事を読んで、現場でSilverlightを使って開発してる人の声というのはとても参考になると思いました。私はというと、何…

MVVMでメモリリークしちゃってました 原因と対策編 間違えてましたorz

元記事:MVVMでメモリリークしちゃってました 原因と対策編 id:taguoさんにコメントで間違いを指摘されていて、確認してみたらその通りだったので元記事を修正しました。というか弱いイベントパターンについてtaguoさんが凄い考察されてます。 WeakEventパタ…

MVVMでメモリリークしちゃってました 原因と対策編

2011/03/02 コメントの指摘を受けて修正。 間違ってた部分。 WeakPropertyChangedViewModelBaseクラスの以下の処理。 PropertyChangedEventManager.AddListener( this.Model, new PropertyChangedWeakEventListener( base.RaisePropertyChanged), string.Emp…

MVVMでDataGridで選択されている行を新しいウィンドウに表示させる

MSDN フォーラムでMVVMの画面遷移についてという質問が上がってたので、Prismを使ってやってみました。 この例で使ってるInteractionRequestの使い方は、以下の記事を参照してください。 MVVMパターンでVMからVを操作する Prism編 ViewModelの作成 今回は、V…

PrismのMVVM関連のクラスを使ってHello world

Prismの最新バージョンからMVVMでの開発をサポートしてくれるようになりました。という話を聞いてPrismをダウンロードしてきてレッツトライ!としようと思うと、Bootstrapperがどうの、EventAggregaterがどうの、Regionがどうの、MEFがどうのUnityがどうのet…

MessengerのかわりにReactive ExtensionsのSubjectあたりを代用してみる

@ugaya40 ブログのやつ、エラー履歴のViewへの通知みたいな一方通行なものは、URL みたいにRx使って解決する方がよくないかな?2011-02-23 19:20:17 via みについ to @ugaya40 という呟きを見て、あぁ確かに出来そうだと思ったので岩永さんのコードは見てな…

MVVMでVMからVへの通知方法を思いついたので書いてみた

注意:思いついただけです。最適な方法ではないと思います。 今回思いついたことのネタ元 思いついたといっても過去に人がやってるものをちょっといじくった感じです。ネタ元はこれが近いというか、ほぼそのままのイメージです。 MVVM パターンで VM から VI…

Visual Studio 2010のWPFとSilverlightのデザイナでBehaviorやTriggerActionを追加できるようにしてみた v2

先日WPF用に作ったツールをSilverlightでも使えるようにしました。 ダウンロード 以下のサイトで公開しています。 Behavior in Visual Studio 2010 WPF and Silverlight Designer- Support Tool ツールの目的 BehaviorやTriggerActionはWPF/Silverlightアプ…

最近言われてるMVVMの開発方法について

大前提すぎてあまり書かれてないことだけど大事なことなので・・・。 Expression Blendが無いと話しになりません!! (Behaviorの適用を手書きでやるくらいならコードビハインド書いたほうが現実的かもしれないという気もします)以上です。

F# + WPF + MVVM で足し算アプリ

さて、今日はF#のシーケンスあたりでもやろうかと思ってMSDNとにらめっこしてましたが、気が変わったのでF#でWPFでMVVMパターンな凄く小さなアプリケーションを作ってみることにしました。 作るもの 仕様は、以下のような感じです。 テキストボックスが2つ…

WPFで開発を効率的に進めるためのポイントについて思ったこと

id:int128さんがWPFで開発を効率的に進めるためのポイントについて書かれていますが、個人的な思いと少し違うかも?と思ったため自分の言葉で考えて書いてみました。ご意見、ご指摘大歓迎とあるので遠慮なくいってみます!*1WPFでは、ViewとModel(ドメインモ…

本読んでるよ

TOEIC380点ですが何か。 概念的な内容が書かれてる部分は非常に辛いです。でもコードがあるところに知りたいことは結構書かれてるのでコードを読んでから文章読みます。わからない単語は、スルー。これ大事。4割くらい理解できてたらいいなぁ・・・w

MVVMにおけるView層での入力値エラーの有無をViewModelで知る方法

MSDNフォーラムで以下の質問があったので考えてみました。 MVVM における入力検証について シナリオとしてはこんな感じ。 ViewModelではint型のプロパティを公開している View側でTextBoxにバインドしている ValidatesOnExceptions=trueとValidation.ErrorTe…

WPFでMVVMの本が出るらしい(英語)

ちょっとぽちるかどうか悩んでる。

ViewModelのコードの自動生成機能とアイテムテンプレートを作ってみた

非実在コマンドパターンを掘り下げていくと、どう頑張ってもVisual Studioがコマンドをうまく認識してくれない+Expression Blendのデザイナがエラーはいて表示してくれなくなったりと挫折してしまいました。 ということで、ViewModelは今の所自動生成するの…