かずきのBlog@hatena

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

WPF

EventAggregatorについて書きました

github.com Prism自習用のリポジトリにEventAggregatorについて書きました。

Prismのナビゲーションについて書きました

github.com

InteractionRequestについて書きました

github.com ユーザーとの対話操作を実現するためのInteractionRequestについてPrismの自習用リポジトリにサンプルとともに解説を上げました。

Prism 6.0のMVVMの基本クラスについて書きました

github.com さらっとコードだけですが。

Prism6.0自習用リポジトリにModuleの使い方くらいまで書きました

github.com 今、BootstrapperとViewModelLocatorの使いかたと、ModuleとRegionあたりくらいのさわりを書いてます。

Prism 6.0自習用リポジトリ作成しました

自習用に書き溜めていきたいと思います。 github.com

Prism 6.0がリリースされました

MSのP&PのチームからMS MVPが主体となったチームに移管されてから初のWPF版PrismであるPrism 6.0がリリースされました。今までNuGetでPrismをインストールすればよかったのが、Prism.Coreをインストールするようになっている点に注意です。 www.nuget.org リ…

WPFで画像表示時にファイルをロックしないようにしたい

WPF

ネタ元 ListBox にイメージをデータバインドした時に画像を削除する方法 確かにWPFでImageのSourceにstringをBindingしたときは、ファイルがしばらくロックされちゃって困ることがあります。これをロックされないようにするには、自前のコンバーターでファイ…

DataGridで特定の列の値が重複してる行だけ色を変えたい

という問題が出されました。 うんうんと頭をひねった結果こうなりました…ちょっと全ループしてるのがダサい。ReactiveProperty 2.x前提です。 まず、表示するデータ。 using Reactive.Bindings; namespace DupItemColorApp { public class PersonViewModel {…

WPFのDataGridの左上のボタンの色の変え方のサンプルコード

WPF

コードレシピにアップしました。 久々に書いてみてびっくりしたのは、コードのライセンスがApache2.0からMITがデフォルトになってたところですね。 As Isってことでよろしくお願いします。 WPFのDataGridの左上のボタンの色の変え方 in C#, XAML for Visual …

WPFのDataGridの左上のボタンの色を変えたい

プロパティとかでさくっとはいかないものなんですね。 DataGridの左上のボタンは{ComponentResourceKey ResourceId=DataGridSelectAllButtonStyle, TypeInTargetAssembly={x:Type DataGrid}}なので、その名前のKeyを持ったButtonのStyleを定義してやればいけ…

PrismのRegionをなるべく仰々しくない方法で使う

Prismの全機能を使おうと思ったらModule使ったりとか結構だるいです。でも「Regionで画面区切って画面遷移できる機能とかは使いたい。」と思いました。 思考錯誤して出来たのでメモっておきます。 NuGetからのインストール Prism.UnityExtensionsをNuGetから…

WPFでBindingを強制的に評価する

WPFでBindingを強制的に評価したいときってありますよね?(ない?) そんなときはコントロールからBindingExpressionを取得してUpdateTargetメソッド(VMからV側の更新)やUpdateSourceメソッド(VからVMへの更新)を使います。 例えばTextBlock型のtextBlo…

C#からWin32API叩く

P/Invokeもいいですが、C++/CLI経由も個人的に好きです。例えばアクティブなWindowのタイトルを取りたいときとか…。 C++/CLIでこんなクラスを用意しておく。 // CPPCLR.h #pragma once #include "Stdafx.h" #include <Windows.h> #include <tchar.h> using namespace System; nam</tchar.h></windows.h>…

Leap Motionで指先を画面に表示するサンプルをコードレシピにおきました

Leap MotionとRxって相性いいですね。ということで、Leapの指先の情報を画面に表示するサンプル作ったので置いておきます。 LeapMotionで指の先を画面に表示する in C# for Visual Studio 2013

WinRTのAPIをデスクトップアプリから使う 8.1版

Windows 8.0のころとそんなに変わりありませんでした。 デスクトップ アプリからのWinRT API利用 | ++C++; // 未確認飛行 C ブログ 8.0の頃はプロジェクトファイルに8.0と書いてたけど8.1にします。プロジェクトをアンロードして下記の内容を最初のPropertyG…

ItemsControlの劣化版を自作してみる(DataTemplate対応コントロールの作成)

DataTemplateに対応したコントロールの作り方ということで、こちらのサイトを写経させていただきました。 DarksideCookie | Using DataTemplates in custom controls カスタムコントロールの作成 カスタムコントロールを新規作成して、Generic.xamlに適当にS…

WPFのXAMLのTypeConverterお試し

WPFのXAMLではTypeConverterを自作して文字列から、オブジェクトを作るようなことが簡単にできるようになっています。ということで簡単に試してみました。XAMLからオブジェクトへの変換にはTypeConverterクラスのConvertFromメソッドとCanConvertFromメソッ…

Mvvm LightとPrismとで同じプログラムのサンプル書いてみました

先日作ったPrism + ReactivePropertyのカウンターアプリをMvvm Light Toolkit使って作ってみました。 Prism 5とReactiveProperty - かずきのBlog@hatena コードレシピにアップしてます。 Prism + ReactivePropertyとMVVM Light Toolkit + ReactiveProperty i…

Prism 5とReactiveProperty

Prism for WinRTとReactivePropertyの連携書いてみたので、WPFのPrism5での使用方法について書いてみようと思います。 参照についかするもの 以下のライブラリをNuGetから追加します。 ReactiveProperty Prism.Mvvm Prism.Interactivity 続いて、以下のアセ…

Prism 5で足し算アプリ

コードレシピに書いてみました。 Prism 5で足し算アプリ in C# for Visual Studio 2013

よりMVVMに、よりライトにPrism 5がリリースされました

10日ほど前の2014年4月19日にPrism 5 for .NET4.5がリリースされてました。 patterns & practices: Prism - Download: Prism 5.0 for .NET 4.5 Prismは、MSの中の人たちが作ってるOSSのWPF用(SL用やストアアプリ用などもある)のフレームワークで、複合型アプ…

Visual Studioからデザイン時のDataContextを設定する方法

今までは、Blendのデータタブから設定するか、手書きXAMLするしかないと思ってました。ですが、今日Visual StudioのBindingのダイアログを開いてよく見てみると… DataContextがマークアップで設定されていません。 デザイン時のDataContextは、オブジェクト…

Prism for .NET4.5.1のbetaが出ました

Prism for .NET 4.5.1のbetaが出ました!! patterns & practices: Prism - Download: Prism 4.2 for .NET 4.5.1 こちらに、Prism for .NET 4.5.1が今後どんな方向に進んでいくのか書かれています。 Plan for Prism for .NET 4.5.1 - Blaine Wastell - patte…

WPF4.5の新機能LiveShapingのコードをコードレシピにあげました

WPF

先日書いたコードをちょっといじってコードレシピにあげてみました。 WPF4.5の新機能LiveShaping

WPF 4.5での新機能 リアルタイムソート、グルーピング、フィルタリング(LiveShaping)

これは、XAML Advent Calendar 2013 の7日目の記事です。なんだか、またカレンダーのハードルが高めになってきたのでここで一気に普通に戻します! 最近は、HTML5に注力してたり、XAMLでもWindows ストアアプリに注力してたりで目玉!というような新機能が少…

Blendのデータストア

Blendにはデータのところからデータストアというものを作れます。 こいつは、プロパティを定義しておいたり、XAMLからプロパティの初期値を設定できたり、Behaviorから値をセットしたりとかBindして色々やったりするのに使うと割と便利だとBlend使いの人達の…

非同期処理でWindowのClosingをキャンセルするかどうか決めたい

WPF

お昼にこんな話題が…。 ユーザー レスポンスを非同期処理に見立てて await する手法だと Window.Closing をキャンセルできない問題、常に e.Cancel = true; しておいて、レスポンスで OK 来たら Application.Shutdown(); してしまえというアレな策が2013-08-…

タッチ?マウス?スタイラス?

気になったのでTouchとMouseとStylusイベントの動きを軽く見てみました。軽くというのは時間がないので****Down系イベントだけ拾ってみました。Backgroundを指定したBorderを置いてCheckBoxを3つおく。

IsHitTestVisibleで存在感無いやつを作る

WPFのコントロールでIsHitVisibleプロパティをFalseにするとクリックしたときに、存在しない人のようになります。 こいつをうまいこと使うと、見えてる要素なんだけど、操作対象じゃないというようなウォーターマークみたいなものを簡単に作れます。あと、実…