かずきのBlog@hatena

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

2014-08-01から1ヶ月間の記事一覧

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という…

WPF4.5入門その40までまとめたPDF作りました

ばらばらの記事だとみるのもめんどくさいのでPDFにまとめました。 SlideShareからダウンロードできます。WPF学習の一助になれば幸いです。 WPF4.5入門

WPF4.5入門 その40 「Popup、ToolTip、TextBox、Image、MediaElementコントロール」

全然関連性のないコントロールをまとめた記念すべき40回です。 Popupコントロール opupコントロールは、画面上に別ウィンドウとして項目を表示するためのコントロールです。Popupコントロールは、IsOpenプロパティを持っていて、このプロパティの値がtrueに…

WPF4.5入門 その39 「情報を表示するコントロール」

Labelコントロール Labelコントロールは、コントロールに対するラベルを表示するコントロールです。LabelコントロールはButtonコントロールなどと同じContentControlを継承しているため、Contentプロパティに任意の値を設定してContentTemplateプロパティを…

WPF4.5入門 その38 「ファイルダイアログ」

WPFは、ファイルを開いたり保存するためのダイアログを提供しています。以下の2つのダイアログがあります。 SaveFileDialog:ファイルを保存するときに使用するダイアログです。 OpenFileDialog:ファイルを開くときに使用するダイアログです。 これらのダイ…

WPF4.5入門 その37 「TabControl」

TabControlは、以下のようなタブで切り替えて複数のコンテンツを表示するUIを提供するためのコントロールです。 TabControlは、ItemsプロパティにTabItemコントロールを指定してタブを作成します。TabItemコントロールは、Headerプロパティにタブのヘッダー…

WPF4.5入門 その36 「Sliderコントロール」

Sliderコントロールは、任意の範囲の数値から1つをユーザーに選択させるコントロールです。デフォルトでは0~10の間の実数を選択する動作をします。以下のようにStackPanel上に置いただけのSliderコントロールの動作を以下に示します。 <StackPanel Margin="5"> <Slider x:Name="slider" /> <TextBlock Text="{Binding Value, ElementName=slider}" /> </StackPanel> 起動直後は、以…

WPF4.5入門 その35 「RadioButtonコントロール」

RadioButtonコントロールは、複数の選択肢の中から1つをユーザーに選択してもらうときに使うコントロールです。RadioButtonコントロールは、デフォルトでは同じパネル(StaciPanelやGridなど)にあるRadioButtonコントロールから、1つだけチェックをつけるこ…

WPF4.5入門 その34 「ListBoxコントロール」

ListBoxコントロールは、1つまたは複数の項目をユーザーに選択させることが出来るコントロールです。基本的な使用方法は、ComboBoxコントロールと同様になります。ItemTemplateによる見た目の設定、ItemsSourceプロパティによる、選択項目の設定、SelectedIt…

WPF4.5入門 その33 「ComboBoxコントロール」

ComboBoxコントロールは、複数の選択肢の中から1つをユーザーに選択してもらうためのユーザーインターフェースを提供するコントロールです。オプションとして、複数の選択肢の中から1つを選ぶか、自由にテキストを入力する方法も提供することができます。 …

WPF4.5入門 その32 「CheckBoxコントロール」

CheckBoxコントロールは、オン・オフ・その他の状態を表すコントロールです。一般的に以下のような見た目をしています。 上記の画面のXAMLを以下に示します。 <StackPanel> <CheckBox Content="オン" IsChecked="True"/> <CheckBox Content="オフ" IsChecked="False"/> <CheckBox Content="その他" IsChecked="{x:Null}" IsThreeState="True"/> </StackPanel> CheckBoxコントロールの代表的なプロパティを以下に示します。 プロパティ …

WPF4.5入門 その31 「ToolBarコントロール」

ToolBarコントロールは、名前の通り、アプリケーションのツールバーを実装するためのコントロールです。ToolBarコントロールは、ToolBarTrayコントロール内に配置する形で実装します。ToolBarTrayには複数のToolBarコントロールを設置でき、ユーザーはマウス…

WPF4.5入門 その30「Menuコントロール」

メニュー系コントロール地味だけど、ちゃんとしたアプリだと使うところですよね。ということで今日は普通のメニューコントロールです。 Menuコントロール Menuコントロールは、Window上部などに表示されるメニュー項目です。一般的にファイル、編集などの項…

WPF4.5入門 その29 「ContextMenuコントロール」

いや長いですね。その28書いてから1年と1月たってました。でもWPFのバージョンは変わらない!! ContextMenuコントロール ContextMenuコントロールは、特定のコントロールに対して固有のメニュー(主に右クリックしたときに表示されるメニュー)を提供するた…

Loaderを使ったデータの読み込み

最近のAndroidでのデータの読み込みはLoaderというものを使うらしいです。ちょっとやってみました。 オレオレ仕様にカスタムできるLoader カーソル前提のLoaderもあるんですが、自前のデータ読み込み処理を書けるAsyncTaskLoaderというのがあるのでそれを使…

BaseAdapterを継承しよう

ListViewにデータを表示するためにAdapterを使いますが、こいつを実装してみたいとおもいます。 とりあえず、前提として以下のようなクラスを画面に表示するとします。 package com.example.kazuki.myapplication.data; import android.provider.BaseColumns…

Androidでファイルの読み書きを行う

openFileOutputとopenFileInputで読み書きできる。getFilesDirで保存されてるファイルの入ってるフォルダが取れる。 public void onWrite(View v) { PrintWriter w = null; try { w = new PrintWriter(openFileOutput("out.txt", MODE_PRIVATE)); w.println(…

adbでよく使うshellとpush

adb shellでシェルへつなぐ。 adb push ローカル リモートでファイル転送。

AndroidからAndroidWearのアプリを起動する

基本的には、これに準じます。 Android Wear → Androidの通信 - かずきのBlog@hatena 上記ページがAndroid Wear → AndroidなのをAndroid → Android WearにしてやればOK。 Android Studioでプロジェクトを作ってMobile側のアプリでメニューのSettingsをタップ…