かずきのBlog@hatena

日本マイクロソフトに勤めています。XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

C#

ReactiveProperty v2.0.0-pre3をリリースしました

ReactiveProperty NuGet Gallery | ReactiveProperty 2.0.0-pre3 今回は以下の変更を含んでます。 CountNotifyerのINotifyPropertyChangedの実装 CountNotifyerクラスがINotifyPropertyChangedインターフェースを実装してCountプロパティの変更通知を受け取…

めとべや東京 #7 でReactivePropertyのLTしてきました

ReactivePropertyの紹介してきました!! 資料公開しておきます。

MVVMでめんどくさいと思ってる部分を、個人的にどうやって緩和してるか

MVVMのめんどくさいと感じてるところ (adsbygoogle = window.adsbygoogle || []).push({}); ModelとViewModelのクラスのマッピング MVVMでアプリ組んでるとModelとViewModelで似た構造のクラスを作って、値の移し替えを行うことがあります。AutoMapperとか使…

Xamarin.FormsでPrism.MvvmとReactivePropertyを使ったサンプル

ということで、コードレシピにアップしました。疲れた疲れた。 Xamarin.FormsでPrism.MvvmとReactivePropertyを使ったサンプル in C# for Visual Studio 2013 Xamarin.FormsでPrism.MvvmとReactivePropertyを使ったサンプル in C# for Visual Studio 2013

Xamarin.FormsでPrism.Mvvmを使う

Prism.Mvvmは非常にシンプルなMVVMをサポートするライブラリです。Xamarin.Formsでも使わない手はない!ということで使ってみました。 環境設定 Windows Phoneのプロジェクトを消します。日本で出てないし、Prism.Mvvmサポートしてないプラットフォームなの…

コレクション初期化子に渡すオブジェクトをデリゲートを使って組み立てたい

よくわからないタイトルになってしまいましたが、Xamarin.Forms使おうとして出てきた問題です。 Xamarin.Formsは、現時点ではXAMLのデザイナとか提供されてないので、長い目で見るとXAMLで書いておいたほうがいいのは確かなんですが、勉強するためにインテリ…

Xamarin AndroidでIListやObservableCollectionをListViewに表示する

先日以下のような記事を書きました。 Xamarin.Android + ReactivePropertyでListViewを使う - かずきのBlog@hatena Xamarin.Android + ReactivePropertyでListViewを使う - かずきのBlog@hatena 別にReactivePropertyのコレクションじゃなくて普通のコレクシ…

Xamarin.Android + ReactivePropertyでListViewを使う

特にReactivePropertyでサポートはしてないので自前でやるっきゃないです!ということでこういうクラスを書いてみました。 ReadOnlyReactiveCollection型をIListAdapterに変換するコードです。 public static class ReadOnlyCollectionExtensions { /// <summary> ///</summary>…

C#のSeleniumで非同期処理を待つ方法

Javaだけど使い方はほぼおなじSelenium。とても参考になるサイトがあります。 Selenium 2で非同期処理を待機する5つの方法 - CODESCRIBBLE Selenium 2で非同期処理を待機する5つの方法 - CODESCRIBBLE ここで使われてるWait系クラスを使うにはC#では、Seleni…

UniRxを使ってオブジェクトをマウスドラッグで回転させる

またまたありがちな例ですがUniRxとUnityに慣れるために書いてみました。 UniRx版 using UnityEngine; using System.Collections; using UniRx; public class UniRxRollingBehaviour : ObservableMonoBehaviour { public override void Awake() { var drag =…

Unityで飛行体を操作したい

Unityで飛行体を操作したい in C# for Visual Studio 2012 (adsbygoogle = window.adsbygoogle || []).push({}); Unityで飛行体を操作したい in C# for Visual Studio 2012 コードレシピにサンプルをアップしました。とりあえず、

Unityで空中浮遊するものを操作したい

上下と前後左右に移動できて、ちょっとふわふわして、移動方向に少し傾くビヘイビア using UnityEngine; using System.Collections; public class FlyingObject : MonoBehaviour { private const float G = 9.9f; // Use this for initialization void Start…

Unityでドローンみたいにふわふわした感じを出したい

そんなことがありました。 using UnityEngine; using System.Collections; public class FlyingObject : MonoBehaviour { private const float G = 9.9f; // Use this for initialization void Start() { } // Update is called once per frame void Update(…

UnityでTODO管理アプリのサンプル

コードレシピに挙げてみました。UnityだってUI作れるもん! Unity 4.6でTodoアプリのサンプル in C# for Visual Studio 2012 Unity 4.6でTodoアプリのサンプル in C# for Visual Studio 2012

WinRTのStreamとDataReader, DataWriterって使いにくいよね!

.NETのStream系に慣れてるせいか、とても癖があるように感じてしまうWinRTのStream。ちょっと使ってみたいと思います。 まず、ファイルにデータを書き込むところから。 ファイルに書き込む処理には便利な機能があって、書き込みをトランザクションとして扱っ…

WPF4.5入門のPDF

最後までまとめてアップしました。ひと段落。 WPF4.5入門

WPF4.5入門 その62「まとめ」

Windows Presentation Foundation 4.5入門は、ひとまず終了です。WPFの入門書が少ないというか絶無な日本で少しでも、これからWPFをやろうと思うひとの助けになれば幸いです。 この中で使用しているコードは一部をのぞき以下のGitHubで管理しています。 http…

WPF4.5入門 その61「データバインディングを前提としたプログラミングモデル その2」

前回のアプリケーションはシンプルすぎてModelがありませんでしたが、今度はシンプルな四則演算アプリケーションでModelまで含んだコード例を示したいと思います。MVVMの基本クラスは、Prism.Mvvmのクラスを使用します。 Modelの作成 Modelはなるべくプレー…

C#でCSVを読み込もう CsvHelper編

C#

CSVを読み込むのにMicrosoft.VisualBasicを参照するのってなんかな…という人向けに。 CsvHelperというライブラリを見つけました。サイトはこちら。 JoshClose/CsvHelper · GitHub クラスにマップしてくれる(フィールド番号等を指定してとる方法もある)ので…

C#でCSVを読み込もう

C#

改行とかカンマとか入ってる本格的なCSVをパースしたいということで、以下のようなサンプルを用意しました。 データ的には以下のような感じです。 あいうえお,かきくけこ,さしすせそ "カンマ,入り","改行 入り",どうだろう 空の,,"セル""も""ある行" CSVを読…

WPF4.5入門 その60「データバインディングを前提としたプログラミングモデル」

WPFでは、強力なデータバインディングを活かした設計パターンとしてModel View ViewModelパターンというアプリケーションを設計するうえでの定石となる設計パターンがあります。Model View ViewModelパターンはMVVMパターンと略されます。MVVMパターンは、WP…

WPF4.5入門 その59「Behaviorの自作」

BehaviorやTriggerとActionを使用することで、簡単なロジックがRAD環境で構築できることがわかりました。ここでは、ありもののBehaviorを使うのではなく自作のBehaviorやTrigger/Actionを作成する方法について示します。Behaviorは、コードビハインドに何回…

WPF4.5入門 その58「Behavior」

WPFの標準部品ではないですが、Blend SDK for WPFに同梱されているBehaviorという部品があります。BlendはVisual Studioに同梱されているため、基本的に標準でついていると考えていいライブラリです。Behaviorは、TriggerとAction(WPFの同名の機能とは別物…

Selenium C#でファイルダイアログに挑む

Seleniumを使ってWebサイトを操作してるのですが、オシャレなサイトのファイルアップロードでinputタグを隠ぺいしていて、ファイルダイアログをどうしても出さないとファイルをアップロード出来ない作りになっていました。 普通のinputタグについては、簡単…

WPF4.5入門のPDFを更新しました

WPF4.5入門で書き続けてるWordファイルをPDF化してSlideShareにアップしました。 前回アップしたときよりも80ページちょい増えています。 WPF4.5入門 残りあと少しの予定ですが、とりあえず今の進捗ということで。

ReactivePropertyを持つVMのコレクションをWindowsFormsのDataGridViewに表示する

遊びです。本気ではないので気を付けてください。 xin9leさんとチャットしながら作っててこんな拡張メソッドを用意しておけば。 public static class DataGridViewBindingExtensions { public static void BindTo<TCollectionItem>( this IEnumerable<TCollectionItem> self, DataGridView dgv,</tcollectionitem></tcollectionitem>…

ユニバーサルWindowsアプリでPrismとReactivePropetyを使った状態で中断処理へ対応する

Json.NET使えば意外と簡単にできました。Json.NET偉大。 ユニバーサルWindowsアプリでPrismとReactivePropetyを使った状態で中断処理へ対応する in C# for Visual Studio 2013

Prism for Windows RuntimeでFileOpenPickerを出す方法

といってもPrismは、FileOpenPickerを出す機能を提供してくれないので自前で作る必要があります。今回は、その自前で作る例として。 Windows ストアアプリでMVVMパターンでFileOpenPickerの出し方 in C#, XAML for Visual Studio 2013

ReactivePropertyのEventToReactiveのサンプル

表題のものをコードレシピにあげました。 ReactivePropertyのEventToReactiveクラス in C#, XAML for Visual Studio 2013

ReactivePropertyのNotifier系クラスのサンプルを書きました

コードレシピにアップしてます。 ReactivePropertyのNotifier系クラス in C# for Visual Studio 2013

Prism for Windows Runtimeを使ったODataの更新アプリサンプル

どうだろう? Prism for Windows Runtimeを使ったODataの更新アプリサンプル in C#

ユニーバサルWindowsアプリのPrism for Windows RuntimeでViewのマッピングとViewModelのマッピングのカスタマイズ方法

Prism for Windows Runtimeでは、標準でViewの型はViews名前空間におかないといけないとか、ViewModelはViewModels名前空間に{Viewの型名}ViewModelで置かないといけないとかルールを持っています。 実はこのルールは別のものに置き換えることが可能です。と…

ユニバーサルWindowsアプリのPrism for Windows Runtimeで中断処理への対応

中断処理ってめんどくさいですよね…。ということで楽に対応するためのコード例をコードレシピにアップしました。 ユニバーサルWindowsアプリのPrism for Windows Runtimeで中断処理への対応 in C# for Visual Studio 2013

ReactiveProperty v1.0.3.0をリリースしました

今回は、ReactiveProperty本体にエラー通知関係のプロパティを追加しました。 NuGetからインストールしてください。 PM > Install-Package ReactiveProperty ObserveErrors ReactivePropertyで発生した検証エラーを通知します。Subscribeすると、最初に現在…

ユニバーサルWindowsアプリのPrism for Windows RuntimeとReactivePropertyで計算機サンプル

今日も今日とてコードレシピにコードをアップしました。 ユニバーサルWindowsアプリのPrism for Windows RuntimeとReactivePropertyで計算機サンプル in C# for Visual Studio 2013

ユニバーサルWindowsアプリでPrismを使って入力値を検証する

ということで、連日書いてるコードレシピにソースをアップしました。 ユニバーサルWindowsアプリでPrismを使って入力値を検証する in C#, XAML for Visual Studio 2013

ユニバーサルWindowsアプリでPrismを使って画面遷移

コードレシピにサンプルコードをアップしました。 ユニバーサルWindowsアプリでPrismを使って画面遷移 in C# for Visual Studio 2013

時間の経過とともに自動で切り替わるFlipViewのサンプルを公開しました

先日Behaviorのコードだけのせてたやつですがコードレシピのほうに全体をのせました。 以下のURLから確認できます。 自動でめくれるFlipViewのサンプル in C#, XAML for Visual Studio 2013

自動で切り替わるFlipViewの作り方

こんなBehaviorを作ってぽとっとすればOK public class FlipViewRollingBehavior : Behavior<FlipView> { private IDisposable disposable; public static readonly DependencyProperty IntervalProperty = DependencyProperty.Register( "Interval", typeof(int), typ</flipview>…

FlipViewの上下移動のボタンをクリックしたときにTappedイベントが発生してしまうのをどうにかしたい

表題の通り、FlipViewのTappedイベントで画面遷移を行う処理を書いていたら、マウスのときにFlipViewに表示される上下移動のためのボタンをクリックしただけで画面遷移するようになって悩んでました。 同じ問題に悩んでる人が海外にもいたみたいで話題になっ…

ReactiveProperty v1.0.2をリリースしました

間にv1.0.1も挟んでますが、こんな感じの変更をしています。 ReadOnlyReactiveCollectionの生成を簡略化 ObservableCollectionからReadOnlyReactiveCollectionを作ろうと思うと今まで以下のようなコードが必要でした。 var models = new ObservableCollection<Model></model>…

2014-09-21T04:34:24.000Z みたいな書式をパースしたい

C#

DateTimeOffset.TryParseExact(value, "yyyy-MM-ddTHH:mm:ss.fffK", null, DateTimeStyles.None, out 出力先); Kっていう書式初めて使った。

WPF4.5入門 その55 「Binding その1」

WPFには、見た目とデータを分離して管理するための強力なデータバインディングの機能があります。WPFのデータバインディングは、依存関係プロパティとプロパティの間の同期をとる機能にないります。 単純なBinding データバインディングは、ソースに設定され…

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

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

WPF4.5入門 その54 「カスタムコントロール」

UserControlで、独自コントロールを作る方法を紹介しましたが、UserControlではできないことがあります。ControlTemplateへ対応です。ControlTemplateへ対応した完全なWPFの独自コントロールを作るには、これから紹介するカスタムコントロールを作成する必要…

WPF4.5入門 その53 「ユーザーコントロール」

コントロールの作成 WPFでは、コントロールの見た目を少し変えたいといった要求は、StyleやDataTemplate、ControlTemplateを使って簡単に実現できます。そのため、Windows Formのころに行っていた、見た目を変えるためのカスタムコントロールの作成は、ほと…

WPF4.5入門 その52 「コントロールテンプレート」

WPFのコントロールは、見た目を完全にカスタマイズする方法が提供されています。コントロールは、TemplateというプロパティにControlTemplateを設定することで、見た目を100%カスタマイズすることが出来るようになっています。 (adsbygoogle = window.adsbyg…

Prism + ReactivePropertyの簡単なサンプル書きました

コードレシピにさくっと。 Prism.Mvvm + ReactiveProperty サンプル in C# for Visual Studio 2013

WPF4.5入門 その51 「リソース」

ここでは、リソースについて説明します。WPFのコントロールには、ResourceDicinonary型のResourcesというプロパティが定義されています。ResourceDicinonaryクラスの中には、画像・文字列・オブジェクトなど様々なものを名前をつけて保持することが出来ます…

ReactiveProperty v1.0リリースしました

ReactiveProperty - MVVM Extensions for Rx - Download: ReactiveProperty v1.0 What's new Reactive Extensionsのバージョンを最新にあげました。 なぜv0.4からv1に上げてみたか お仕事で使ってくれてる人がいて、その人から聞いてたら結構ヘビーに使って…