2014-08-01から1ヶ月間の記事一覧
キーフレームアニメーション これまで説明した型名Animationで指定するアニメーションの他に、WPFでは、キーフレームアニメーションと呼ばれるアニメーションを定義するための型があります。<型名>AnimationUsingKeyFrameという名前で定義されています。サポ…
こんなつぶやきを見たので。 一方のReactiveProperty<string>が変化するとThrottleで何秒か捨ててからもう一方のRP<string>に整形しつつ反映する、ってやつで、捨てる間隔もRP<int>が変化するたびに反映させたい感じの2014-08-28 14:41:09 via ぷちぺぷちど 書いてみたけど、こん</int></string></string>…
WPFは、アニメーションを組み込みでサポートしています。WPFのアニメーションは、指定した依存関係プロパティを指定した時間内で、指定した変化量で、指定した範囲の値を変化させ続ける仕組みになります。単純なWPFのアニメーションの定義例を以下に示します…
タブを作るだけなのにめんどくさくない!? すごく参考になったサイト。 Fragmentによるタブのレイアウト | Fragmentによるタブ作成|サイト構築日記 タブでコンテンツ(Fragment) を切り替える | Fragmentによるタブ作成|サイト構築日記
WPFの重要なコントロールの1つにContentControlクラスがあります。このクラスは、Contentプロパティに設定された単一の要素を表示するという機能を提供するコントロールです。「WPFのコンセプト」でも紹介しましたが、このコントロールが、要素を表示する際…
WPFは、イベントも独自の機構を構築しています。WPFのイベントシステムの特徴を説明する前に、なぜその仕組みが必要になるかというシンプルな例を示したいと思います。以下のようにButtonの中にButtonがあるシンプルなケースでのイベントについて考えてみま…
さて、かなり前に書いた記事があります。 PropertyChangedイベントの処理方法 - かずきのBlog@hatena こいつの欠点は購読したあと解除方法がないことですね。辛い。 今ならどうする? ということで今ならReactive Extensionsという素敵なものがあります。例…
添付プロパティは、別のDependencyObjectを継承したクラスに対して、任意のプロパティを設定することが出来る機能です。例えば、GridクラスのRow添付プロパティやColumn添付プロパティがあります。これは、Grid内の別コントロールに対して、何行目、何列目に…
依存関係プロパティのメタデータは、PropertyMetadataクラスの他に、PropertyMetadataクラスを継承したUIPropertyMetadataクラスや、FrameworkPropertyMetadataクラスがあります。UIPropertyMetadataクラスは、WPFのアニメーションを無効化にする機能を提供…
これまで見てきた依存関係プロパティは全て読み書きできるものでしたが、読み取り専用の依存関係プロパティも定義できます。読み取り専用の依存関係プロパティは、DependencyPropertyKeyというクラスを使用します。 読み取り専用の依存関係プロパティの例を…
DispatcherObjectの1段下に継承階層をおりると、DependencyObjectというクラスになります。DependencyObjectは、WPFで使われた独自のプロパティシステムを実装しています。この独自のプロパティシステムのことを、依存関係プロパティと添付プロパティといい…
コントロールの使い方ばかりを書くのも飽きてきたので趣向を変えていきます。 DispatcherObject WPFでは、他のUIフレームワークと同様にUIを操作するには専用のスレッドから操作をする必要があります。WPFでは、この操作を簡単にするためにDispatcherという…
ばらばらの記事だとみるのもめんどくさいのでPDFにまとめました。 SlideShareからダウンロードできます。WPF学習の一助になれば幸いです。 WPF4.5入門
全然関連性のないコントロールをまとめた記念すべき40回です。 Popupコントロール opupコントロールは、画面上に別ウィンドウとして項目を表示するためのコントロールです。Popupコントロールは、IsOpenプロパティを持っていて、このプロパティの値がtrueに…
Labelコントロール Labelコントロールは、コントロールに対するラベルを表示するコントロールです。LabelコントロールはButtonコントロールなどと同じContentControlを継承しているため、Contentプロパティに任意の値を設定してContentTemplateプロパティを…
WPFは、ファイルを開いたり保存するためのダイアログを提供しています。以下の2つのダイアログがあります。 SaveFileDialog:ファイルを保存するときに使用するダイアログです。 OpenFileDialog:ファイルを開くときに使用するダイアログです。 これらのダイ…
TabControlは、以下のようなタブで切り替えて複数のコンテンツを表示するUIを提供するためのコントロールです。 TabControlは、ItemsプロパティにTabItemコントロールを指定してタブを作成します。TabItemコントロールは、Headerプロパティにタブのヘッダー…
Sliderコントロールは、任意の範囲の数値から1つをユーザーに選択させるコントロールです。デフォルトでは0~10の間の実数を選択する動作をします。以下のようにStackPanel上に置いただけのSliderコントロールの動作を以下に示します。 <StackPanel Margin="5"> <Slider x:Name="slider" /> <TextBlock Text="{Binding Value, ElementName=slider}" /> </StackPanel> 起動直後は、以…
RadioButtonコントロールは、複数の選択肢の中から1つをユーザーに選択してもらうときに使うコントロールです。RadioButtonコントロールは、デフォルトでは同じパネル(StaciPanelやGridなど)にあるRadioButtonコントロールから、1つだけチェックをつけるこ…
ListBoxコントロールは、1つまたは複数の項目をユーザーに選択させることが出来るコントロールです。基本的な使用方法は、ComboBoxコントロールと同様になります。ItemTemplateによる見た目の設定、ItemsSourceプロパティによる、選択項目の設定、SelectedIt…
ComboBoxコントロールは、複数の選択肢の中から1つをユーザーに選択してもらうためのユーザーインターフェースを提供するコントロールです。オプションとして、複数の選択肢の中から1つを選ぶか、自由にテキストを入力する方法も提供することができます。 …
CheckBoxコントロールは、オン・オフ・その他の状態を表すコントロールです。一般的に以下のような見た目をしています。 上記の画面のXAMLを以下に示します。 <StackPanel> <CheckBox Content="オン" IsChecked="True"/> <CheckBox Content="オフ" IsChecked="False"/> <CheckBox Content="その他" IsChecked="{x:Null}" IsThreeState="True"/> </StackPanel> CheckBoxコントロールの代表的なプロパティを以下に示します。 プロパティ …
ToolBarコントロールは、名前の通り、アプリケーションのツールバーを実装するためのコントロールです。ToolBarコントロールは、ToolBarTrayコントロール内に配置する形で実装します。ToolBarTrayには複数のToolBarコントロールを設置でき、ユーザーはマウス…
メニュー系コントロール地味だけど、ちゃんとしたアプリだと使うところですよね。ということで今日は普通のメニューコントロールです。 Menuコントロール Menuコントロールは、Window上部などに表示されるメニュー項目です。一般的にファイル、編集などの項…
いや長いですね。その28書いてから1年と1月たってました。でもWPFのバージョンは変わらない!! ContextMenuコントロール ContextMenuコントロールは、特定のコントロールに対して固有のメニュー(主に右クリックしたときに表示されるメニュー)を提供するた…
最近のAndroidでのデータの読み込みはLoaderというものを使うらしいです。ちょっとやってみました。 オレオレ仕様にカスタムできるLoader カーソル前提のLoaderもあるんですが、自前のデータ読み込み処理を書けるAsyncTaskLoaderというのがあるのでそれを使…
ListViewにデータを表示するためにAdapterを使いますが、こいつを実装してみたいとおもいます。 とりあえず、前提として以下のようなクラスを画面に表示するとします。 package com.example.kazuki.myapplication.data; import android.provider.BaseColumns…
openFileOutputとopenFileInputで読み書きできる。getFilesDirで保存されてるファイルの入ってるフォルダが取れる。 public void onWrite(View v) { PrintWriter w = null; try { w = new PrintWriter(openFileOutput("out.txt", MODE_PRIVATE)); w.println(…
adb shellでシェルへつなぐ。 adb push ローカル リモートでファイル転送。
基本的には、これに準じます。 Android Wear → Androidの通信 - かずきのBlog@hatena 上記ページがAndroid Wear → AndroidなのをAndroid → Android WearにしてやればOK。 Android Studioでプロジェクトを作ってMobile側のアプリでメニューのSettingsをタップ…