WPF
github.com Prism自習用のリポジトリにEventAggregatorについて書きました。
github.com
github.com ユーザーとの対話操作を実現するためのInteractionRequestについてPrismの自習用リポジトリにサンプルとともに解説を上げました。
github.com さらっとコードだけですが。
github.com 今、BootstrapperとViewModelLocatorの使いかたと、ModuleとRegionあたりくらいのさわりを書いてます。
自習用に書き溜めていきたいと思います。 github.com
MSのP&PのチームからMS MVPが主体となったチームに移管されてから初のWPF版PrismであるPrism 6.0がリリースされました。今までNuGetでPrismをインストールすればよかったのが、Prism.Coreをインストールするようになっている点に注意です。 www.nuget.org リ…
ネタ元 ListBox にイメージをデータバインドした時に画像を削除する方法 確かにWPFでImageのSourceにstringをBindingしたときは、ファイルがしばらくロックされちゃって困ることがあります。これをロックされないようにするには、自前のコンバーターでファイ…
という問題が出されました。 うんうんと頭をひねった結果こうなりました…ちょっと全ループしてるのがダサい。ReactiveProperty 2.x前提です。 まず、表示するデータ。 using Reactive.Bindings; namespace DupItemColorApp { public class PersonViewModel {…
コードレシピにアップしました。 久々に書いてみてびっくりしたのは、コードのライセンスがApache2.0からMITがデフォルトになってたところですね。 As Isってことでよろしくお願いします。 WPFのDataGridの左上のボタンの色の変え方 in C#, XAML for Visual …
プロパティとかでさくっとはいかないものなんですね。 DataGridの左上のボタンは{ComponentResourceKey ResourceId=DataGridSelectAllButtonStyle, TypeInTargetAssembly={x:Type DataGrid}}なので、その名前のKeyを持ったButtonのStyleを定義してやればいけ…
Prismの全機能を使おうと思ったらModule使ったりとか結構だるいです。でも「Regionで画面区切って画面遷移できる機能とかは使いたい。」と思いました。 思考錯誤して出来たのでメモっておきます。 NuGetからのインストール Prism.UnityExtensionsをNuGetから…
WPFでBindingを強制的に評価したいときってありますよね?(ない?) そんなときはコントロールからBindingExpressionを取得してUpdateTargetメソッド(VMからV側の更新)やUpdateSourceメソッド(VからVMへの更新)を使います。 例えばTextBlock型のtextBlo…
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とRxって相性いいですね。ということで、Leapの指先の情報を画面に表示するサンプル作ったので置いておきます。 LeapMotionで指の先を画面に表示する in C# for Visual Studio 2013
Windows 8.0のころとそんなに変わりありませんでした。 デスクトップ アプリからのWinRT API利用 | ++C++; // 未確認飛行 C ブログ 8.0の頃はプロジェクトファイルに8.0と書いてたけど8.1にします。プロジェクトをアンロードして下記の内容を最初のPropertyG…
DataTemplateに対応したコントロールの作り方ということで、こちらのサイトを写経させていただきました。 DarksideCookie | Using DataTemplates in custom controls カスタムコントロールの作成 カスタムコントロールを新規作成して、Generic.xamlに適当にS…
WPFのXAMLではTypeConverterを自作して文字列から、オブジェクトを作るようなことが簡単にできるようになっています。ということで簡単に試してみました。XAMLからオブジェクトへの変換にはTypeConverterクラスのConvertFromメソッドとCanConvertFromメソッ…
先日作ったPrism + ReactivePropertyのカウンターアプリをMvvm Light Toolkit使って作ってみました。 Prism 5とReactiveProperty - かずきのBlog@hatena コードレシピにアップしてます。 Prism + ReactivePropertyとMVVM Light Toolkit + ReactiveProperty i…
Prism for WinRTとReactivePropertyの連携書いてみたので、WPFのPrism5での使用方法について書いてみようと思います。 参照についかするもの 以下のライブラリをNuGetから追加します。 ReactiveProperty Prism.Mvvm Prism.Interactivity 続いて、以下のアセ…
コードレシピに書いてみました。 Prism 5で足し算アプリ in C# for Visual Studio 2013
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用やストアアプリ用などもある)のフレームワークで、複合型アプ…
今までは、Blendのデータタブから設定するか、手書きXAMLするしかないと思ってました。ですが、今日Visual StudioのBindingのダイアログを開いてよく見てみると… DataContextがマークアップで設定されていません。 デザイン時のDataContextは、オブジェクト…
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
これは、XAML Advent Calendar 2013 の7日目の記事です。なんだか、またカレンダーのハードルが高めになってきたのでここで一気に普通に戻します! 最近は、HTML5に注力してたり、XAMLでもWindows ストアアプリに注力してたりで目玉!というような新機能が少…
Blendにはデータのところからデータストアというものを作れます。 こいつは、プロパティを定義しておいたり、XAMLからプロパティの初期値を設定できたり、Behaviorから値をセットしたりとかBindして色々やったりするのに使うと割と便利だとBlend使いの人達の…
お昼にこんな話題が…。 ユーザー レスポンスを非同期処理に見立てて await する手法だと Window.Closing をキャンセルできない問題、常に e.Cancel = true; しておいて、レスポンスで OK 来たら Application.Shutdown(); してしまえというアレな策が2013-08-…
気になったのでTouchとMouseとStylusイベントの動きを軽く見てみました。軽くというのは時間がないので****Down系イベントだけ拾ってみました。Backgroundを指定したBorderを置いてCheckBoxを3つおく。
WPFのコントロールでIsHitVisibleプロパティをFalseにするとクリックしたときに、存在しない人のようになります。 こいつをうまいこと使うと、見えてる要素なんだけど、操作対象じゃないというようなウォーターマークみたいなものを簡単に作れます。あと、実…