かずきのBlog@hatena

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

2014-01-01から1年間の記事一覧

ASP.NET WebAPIのOData v4でファンクション定義 その3

次はコレクションに関数を生やします。 引数つけると何故か成功しなかったので引数無しで…。 using System.Web.Http; using System.Web.OData.Builder; using System.Web.OData.Extensions; // MapODataServiceRouteに必要 using WebApplication5.Controller…

ASP.NET WebAPIのOData v4でファンクション定義 その2

次はエンテティに関数を生やします。 まずは、ODataConventionsModelBuilderに関数を指定する。 using System.Web.Http; using System.Web.OData.Builder; using System.Web.OData.Extensions; // MapODataServiceRouteに必要 using WebApplication5.Control…

ASP.NET WebAPIのOData v4でファンクション定義

Functionというのを定義してRPCみたいなこともODataでは出来ます。 まずは足し算。 ODataConventionModelBuilderのFunctionメソッドで関数の定義を作り、Returnsで戻り値を、Parameterでパラメータを指定します。 今回は足し算! using System.Web.Http; usi…

ASP.NET WebAPIのOData v4で登録更新削除

Put, Patch, Post, Deleteメソッドを作ればよしなにやってくれるみたいです。 using System.Diagnostics; using System.Linq; using System.Net; using System.Web.Http; using System.Web.OData; namespace WebApplication5.Controllers { public class Peo…

ASP.NET WebAPIのOData v4の機能を使ってみる

ODataいつの間にかv4になってたんですね。知らなかった。ということで、ちょっと触ってみました。 プロジェクトの作成 ASP.NETのEmptyを選んで、Web APIにチェックを入れてOKを押します。 これで必要最低限のWeb APIに特化したプロジェクトが作られます。 次…

HubSectionのヘッダーのグリフを消したい

Hubコントロールは便利なのですが、HubSectionのヘッダーに何か操作をするコントロールを置こうとすると反応してくれません。 IsHeaderInteractiveをTrueにすると反応するようになるのですが、今度はマウスオーバーとかで色がついたり>みたいなグリフがつい…

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のコントロールには、ResourceDictionary型のResourcesというプロパティが定義されています。ResourceDictionaryクラスの中には、画像・文字列・オブジェクトなど様々なものを名前をつけて保持することが出来ます…

InteractionRequestをRxに合流させる

こねたです。 こんなのを用意しておくと捗ります。 using Microsoft.Practices.Prism.Interactivity.InteractionRequest; using System; using System.Reactive.Disposables; using System.Reactive.Linq; namespace WpfApplication7 { public static class …

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

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

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

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

WPF4.5入門 その50 「Style」

Styleについては、「WPF4.5入門 その21 「WPFのコンセプトと重要な機能つまみ食い」 - かずきのBlog@hatena」で簡単に紹介したとおり、コントロールに設定するプロパティの値のセットを集めるためのものです。共通の設定を行うコントロールが多数ある場合は…

WPF4.5入門 その49 「WPFのアニメーション その2」

キーフレームアニメーション これまで説明した型名Animationで指定するアニメーションの他に、WPFでは、キーフレームアニメーションと呼ばれるアニメーションを定義するための型があります。<型名>AnimationUsingKeyFrameという名前で定義されています。サポ…

Throttleの間隔を別のRxPropから動的に指定したい

こんなつぶやきを見たので。 一方のReactiveProperty<string>が変化するとThrottleで何秒か捨ててからもう一方のRP<string>に整形しつつ反映する、ってやつで、捨てる間隔もRP<int>が変化するたびに反映させたい感じの2014-08-28 14:41:09 via ぷちぺぷちど 書いてみたけど、こん</int></string></string>…

WPF4.5入門 その48 「WPFのアニメーション その1」

WPFは、アニメーションを組み込みでサポートしています。WPFのアニメーションは、指定した依存関係プロパティを指定した時間内で、指定した変化量で、指定した範囲の値を変化させ続ける仕組みになります。単純なWPFのアニメーションの定義例を以下に示します…

Andoridでタブを作る

タブを作るだけなのにめんどくさくない!? すごく参考になったサイト。 Fragmentによるタブのレイアウト | Fragmentによるタブ作成|サイト構築日記 タブでコンテンツ(Fragment) を切り替える | Fragmentによるタブ作成|サイト構築日記

WPF4.5入門 その47 「コンテンツモデル」

WPFの重要なコントロールの1つにContentControlクラスがあります。このクラスは、Contentプロパティに設定された単一の要素を表示するという機能を提供するコントロールです。「WPFのコンセプト」でも紹介しましたが、このコントロールが、要素を表示する際…

WPF4.5入門 その46 「WPFのイベントシステム」

WPFは、イベントも独自の機構を構築しています。WPFのイベントシステムの特徴を説明する前に、なぜその仕組みが必要になるかというシンプルな例を示したいと思います。以下のようにButtonの中にButtonがあるシンプルなケースでのイベントについて考えてみま…

C#でPropertyChangedを購読する方法

さて、かなり前に書いた記事があります。 PropertyChangedイベントの処理方法 - かずきのBlog@hatena こいつの欠点は購読したあと解除方法がないことですね。辛い。 今ならどうする? ということで今ならReactive Extensionsという素敵なものがあります。例…

WPF4.5入門 その45 「添付プロパティ」

添付プロパティは、別のDependencyObjectを継承したクラスに対して、任意のプロパティを設定することが出来る機能です。例えば、GridクラスのRow添付プロパティやColumn添付プロパティがあります。これは、Grid内の別コントロールに対して、何行目、何列目に…

拡張されたプロパティメタデータ

依存関係プロパティのメタデータは、PropertyMetadataクラスの他に、PropertyMetadataクラスを継承したUIPropertyMetadataクラスや、FrameworkPropertyMetadataクラスがあります。UIPropertyMetadataクラスは、WPFのアニメーションを無効化にする機能を提供…

WPF4.5入門 その43 「読み取り専用の依存関係プロパティ」

これまで見てきた依存関係プロパティは全て読み書きできるものでしたが、読み取り専用の依存関係プロパティも定義できます。読み取り専用の依存関係プロパティは、DependencyPropertyKeyというクラスを使用します。 読み取り専用の依存関係プロパティの例を…

WPF4.5入門 その42 「WPFのプロパティシステム」

DispatcherObjectの1段下に継承階層をおりると、DependencyObjectというクラスになります。DependencyObjectは、WPFで使われた独自のプロパティシステムを実装しています。この独自のプロパティシステムのことを、依存関係プロパティと添付プロパティといい…

WPF4.5入門 その41 「DispatcherObject」

コントロールの使い方ばかりを書くのも飽きてきたので趣向を変えていきます。 DispatcherObject WPFでは、他のUIフレームワークと同様にUIを操作するには専用のスレッドから操作をする必要があります。WPFでは、この操作を簡単にするためにDispatcherという…