かずきのBlog@hatena

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

WPF

DataTableをDataGridにバインドしたときに例外をトラッキングできない?

WPF

DataGridの微妙な動き・・・?編集が出来なくなるDataGrid 上の記事で、編集ができなくなるということを書きましたが、もっと悩ましい問題がありました。 Addを押して行を追加 新規追加された行以外を編集 例外で落ちる 例外がDataGridのRowEditEndingでも捕…

DataGridの微妙な動き・・・?編集が出来なくなるDataGrid

WPF

ちょっと時代遅れですがDataTableをWPFのDataGridにバインドしていじいじしてたところ、ちょっと変な動きをするのを見つけました。プログラムは以下からダウンロードできます。 DataSetDataGrid.zip 再現手順 プログラムを起動 表示されてるデータの編集が可…

Behaviorの使い方についてコードサンプルを書きました

コードレシピにBehavior入門という記事を書きました。Expression Blend SDKをダウンロードしてVisual Studioでゴリゴリと書くスタイルを想定してます。 Behavior入門 以下のようなことが習得できればと思って書きました。 Behaviorの使い方 Trigger&TriggerA…

MSDNマガジンの個人的注目記事 WPFのDataGridの一歩踏み込んだ使い方!

WPF

WPFのDataGridを使って著者が苦労して得たノウハウを共有してくれています。 WPF の DataGrid 列のテンプレートを構成してユーザー エクスペリエンスを向上する DataGridのサンプルでは、派手な見た目にするようなものが多いですが、この記事は地味にComboBo…

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

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

次期バージョンのWPFって?

WPF

InfoQに以下の記事が掲載されています。 WPFの次期バージョンに目を向ける Silverlightに押されて影が薄い感じが否めないWPFですが、機能強化はされるみたいですね!!個人的に気になるのは、INotifyCollectionChangedを実装したコレクションにUIスレッド以…

数年前に書いたWPF関連のエントリのまとめ WPFの入門用にいいかも?

WPF

数年前にまとめたエントリなので、埋もれてる感があるため再度宣伝です。わんくま同盟のBlogのほうの記事のまとめになります。 WPF関連のエントリを整理してみた 今ここに書いてる内容を全部覚えてるかといわれると・・・な状態なので、自分でも読み返してみ…

ContextMenuでのBinding時の注意事項

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

Kinkuma Framework 1.2.7をリリースしてみました

nugetのほうにアップしてあります。 KinkumaFramework(Prism based MVVM Framework) - 1.2.7 今回のは機能追加ではなくて性能改善です。 Kinkuma Framework 1.2.5のViewModelの初期化がどれくらい遅いか試してみた 記述の簡潔さに力を入れてリフレクションを…

TextBoxで未入力の場合にBindingしてるソースのプロパティにnullを入れたい

こんなことってないですか?私はあります。 具体的に言うと、int?型のプロパティをTextBoxのTextプロパティにバインドしたときに、何も入力してない状態だとnullを入れてほしいという状態です。通常の状態だと何か入力したあとにバックスペースで空文字にす…

JPG画像の一括劣化ツール

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

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ライブラリを作りました

バージョン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のかわり

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

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

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

WPFアプリケーションの国際化対応

WPF

リソースファイルを使う方法が簡単そうなので、試してみました。参考にしたのは以下のサイトというか、ほぼそのままですね。自分用メモという意味合いが強いです。 WPFの国際化対応 デフォルトで用意されてるResources.resxに加えてResources.ja-JP.resxを作…

Expression Blend SDKのBehaviorをStyleで使う

WPF

別のことを検索してたら、面白そうなものがみつかったのでメモしておきます。Styleの定義の中でもBehavior使おうぜ!っていう試みみたいです。 時間があったら試してみよう。 Attaching Behaviors from the Expression Blend SDK using Styles

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

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

Windows FormsからWPFへの乗り換えの障壁2

WPF

前回は、プログラミングの視点からですが、その他に思ったことをつらつらと書いていきます。 もちろん、個人の主観入りまくりです。そして推敲してないので、矛盾してる部分があるかもしれません。 他に、何かこんな障壁もあるよ!っていうのがあったら教え…

Expression Blend SDKのBehaviorとかを再実装したときに覚えたこと

WPF

Blend SDKにはBehaviors添付プロパティやTriggers添付プロパティが定義されていて、そこにBehaviorやTriggerを追加していくという感じで使います。同じようなものを作ろうとしたときに問題にぶちあたりました。添付プロパティの初期値どうしよう? nullにす…

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…

Windows FormsからWPFへ乗り換えるときの最初の障壁

Twitterでも呟いたのですが、とりあえずブログのエントリとしてまとめておきます。因みに、ここでの障壁はプログラマさんが感じるであろう最初の障壁を自分の場合を思い出して書いています。 何がなんだかわからない まず、最初に躓くのが慣れ親しんだWindow…

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

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

Behavior in VS2010 WPF and SL Designer v2.2

Behavior in Visual Studio 2010 WPF and Silverlight Designer- Support Tool Trigger系のクラスの中で一番使用頻度が高いと思われるEventTriggerのEventNameプロパティをドロップダウンから選択できるようにしました。WPFとSilverlight両方対応しています…

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

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