かずきのBlog@hatena

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

WinRT

Windows ストアアプリでフライアウトを出すのは奥が深い

ここではコードネームMetro スタイル アプリのことをWindows ストアアプリと記載してます。Windows ストアアプリでは、ユーザーの思考を中断しないためか旧来のデュンッ!という音と共に出てくるダイアログや、音はしないにしても、モーダルなダイアログは出さ…

指定したフォルダ以下の任意の拡張子のファイルをゲットしたい!

という要望を受けたのでカリっとコード片を。 var picker = new FolderPicker(); // なぜファイルタイプの指定がいるのだ picker.FileTypeFilter.Add(".txt"); // フォルダを"ユーザ"に選択してもらう var folder = await picker.PickSingleFolderAsync(); /…

StandardStyles.xamlの矛盾

Metro styleの正式名称が正式に発表されないままWindows 8とVisual StudioがRTMされた今日この頃。いかがお過ごしでしょうか。Windows ストア アプリ(が正式名称なのかな?)の開発においてRC版からRTMで個人的に一番大きな変更だなと思ったのはStandardStyle…

AppBarのボタンを押したときに確認用のフライアウトを出す部品作って放流してみた

2012/08/26 追記 ↓ソフトウェアキーボード対応版作りました。 http://d.hatena.ne.jp/okazuki/20120826/FlyoutDeepDive このページのクラスは対応してないです…RC版での情報です凄い用途限定的で大して使いこんでないので、バグあるはず…!!しかも、今日VS201…

ちょっとした確認するためのフライアウト出すのがめんどくさい

RC版の情報です。 部品化して公開しました 2012/08/15 追記 AppBarのボタンを押したときに確認用のフライアウトを出す部品作って放流してみた 以下古い情報 Metro Style App(コードネーム)で、AppBarのボタン押したときに、本当にそれでいいの?って雰囲気の…

ちょっとした確認のためのフライアウトを出す部品作成過程

RC版の情報です。 部品化して公開しました 2012/08/15 追記 AppBarのボタンを押したときに確認用のフライアウトを出す部品作って放流してみた 以下古い情報 1つ前の記事では手作り感満載のフライアウトを出してました。これでもまぁいいっちゃいいんだけど、…

ローカルにあるRSSのXMLファイルからSyndicationFeedを作る

WinRTでRSSを扱おうと思ったら、SyndicationClientを使います。とても簡単に読み込みが可能です。 var client = new SyndicationClient(); var feed = await client.RetrieveFeedAsync(new Uri("http://d.hatena.ne.jp/okazuki/rss")); ただ、ちょっとした理…

WinRTのコードテンプレートに含まれてるBindableBaseクラスを前提にするなら登録しておきたいコードスニペット

<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> <CodeSnippet Format="1.0.0"> <Header> <Title>propbindable</Title> <Shortcut>propbindable</Shortcut> <Description>プロパティとバッキング フィールド用のコード スニペット</Description> <Author>okazuki</author></header></codesnippet></codesnippets>

Windows 8 Camp in a Box, Release Preview Edition要チェック

Windows 8 Camp in a Box, Release Preview Edition Windows 8の開発やるなら、必見でしょう・・・!ということでメモメモ。っていうか正式版いつだろ。Visual Studio 2012・・・。

アプリバーのボタンをBlendを使ってカスタマイズ(バッドノウハウ)

Windows 8 RP + Visual Studio 2012 RC時点の情報かつ、バッドノウハウが含まれます。Windows 8のMetro スタイル アプリの花形ことアプリバーですが、こいつに素敵なボタンを手軽に追加する一番いいほうほうはBlendを使うことです。だが、断られてしまいます…

WinRTでSQLiteが使えるようになったみたいなので試してみました

InfoQで素敵なニュースが。 WinRT、Metroアプリ、Windows 8 MobileでSQLite SQLiteがWinRTで使えるようになったみたいです!Windows PhoneにはSQL Server Compact EditionとLINQ to SQLが使えてましたがWinRTでは軽量なDBは特に提供されていません。(VS2012 …

データの保存についてもう一度考えてみた

Windoes 8 RP + Visual Studio 2012 RC時点の情報です。前に、データの保存先については考えてみました。 アプリケーションデータの保存場所について考える まぁ、当然っちゃぁ当然なんですが何を何処に保存するのかってのは、今まで以上に考えないといけな…

Metro スタイル アプリのナビゲーションのパラメータには単純な型しか実質渡せないっぽい・・・

Windows 8 RP + Visual Studio 2012 RC時点の情報です。Metro スタイル アプリでは、FrameクラスのNavigateメソッドを使って画面遷移を行う感じになってます。このNavigateメソッドのシグネチャを見てみると、object型のパラメータを渡せるようになっている…

アプリケーションデータの保存場所について考える

Win8RP + VS2012RC時点の情報ですここを見ながら整理整頓。Metro スタイル アプリのデータの保存について少し考えてみました。まぁWindows Phone 7アプリでも同じようなことは考えないといけないのですが、ここらへんWindows Phoneアプリ開発のときにさぼっ…

ピクセル密度に応じて表示画像を変える

小ネタメモ。 Windows8では様々なピクセル密度のデバイスが出てくることが考えられます。iPadみたいな網膜ディスプレイ?みたいなやつとか、今までのふつうのPCの解像度のやつとかetc...。そんなときに厄介なのは画像です。小さい画像は何も考えずにピクセル…

ListBoxに追加されたアイテムを一回だけアニメーションさせたい

というプログラムのリクエストを受けたので作ってみました。とりあえず、響きだけ見てみると簡単そうなのですが、これが意外に厄介。克服しなければならない課題がいくつかあります。 課題は主にListBoxのコレクションの仮想化に起因する問題になります。 Lo…

MetroスタイルのIE10がFlashをサポートしたのにSilverlightを何故サポートしないのか考えてみた

マイクロソフト、IE10にFlash Playerを統合。MetroスタイルでもFlashコンテンツが利用可能に。Silverlightは含まず こちらでも取り上げられてる通り、MetroスタイルのIE10ではプラグインを完全排除してHTML5推しという流れでしたがWindows 8 Release Preview…

Visual Studio 2012 RCのMetro スタイル アプリのテンプレートを見てみる

Visual Studio 2012 RC + Windows 8 RPの環境をようやく整えて落ち着いてきた今日この頃です。マシン2台ともWindows 8 RPにしてしまいました。正式版が出たときにどうなることやらと思ってます。 Metro スタイル アプリのひな形 Visual Studio 2012 RCのMet…

セマンティックズームの作り方

Windows 8 CP時点の情報に基づいて書いてます。ということで、Windows 8の目玉?機能のセマンティックズームを作ってみようと思います。グループ化されたアイテムをズームアウトすると素敵に見えるあれですね。 データ構造 とりあえずカテゴリと、カテゴリの…

セマンティックズーム苦戦中

Windows 8のセマンティックズームってかっこいいので自分でも作りたいのですがSemanticZoomコントロール使えばさくっとできるのはいい。 でもSemanticZoomにセットするGridViewやListViewのテンプレートをいじくってテンプレート内でMarginをいじくるとアプ…

程よい余白を持ったGridViewを定義しよう

Windows 8 CP時点の情報です。グリッドアプリケーションのテンプレートでアプリケーションを作るとこんな感じの構造でアプリが作られてます。 <ScrillViewer ...> <GridView ... > ... </GridView> </ScrollViewer> 要は、ScrollViewerの中にGridViewが入ってる感じです。GridView自体も中身があふれたらスクロールバーを…

トースト通知

Windows 8 CP時点の情報にもとづいて記載しています。ユーザの操作を妨げない通知ということで今までメッセージボックスみたいなので通知してたやつはさくっとトーストにしませふ。というということでレッツトライ。 トーストの有効化 アプリケーションのマ…

Metro スタイルアプリケーションのコンテンツ領域の大きさ

Metro スタイルアプリケーションでコンテンツを置ける場所って決まってるみたいです。 Understanding the Windows 8 silhouette これに従うようにXAMLを定義すると以下のような感じになりますね。

WinRTとWPFとSilverlightと時々クラウディアさん

Windows 8の話題性から新たに追加されたWinRTというネイティブな環境が最近ホットです。Windows 8の目玉機能のMetroスタイルアプリケーションを作るために使用するので今一番あついテクノロジだと個人的に思ってます。ちょっとつらつらと駄文を書いてみよう…

WinRTのMEFでServiceLocator実装してみた

お約束:Windows 8 CP時点の内容です。正式版では変わってるかもしれません。WinRTのMEFってCompositionContainerクラスがいなくなってCompositionServiceクラスでSatisfyImportsOnceメソッド使って対象クラスに何かをImportするということしかできないっぽ…

Metro スタイルアプリケーションで実験コードを書くとき

GUIアプリケーションで実験コード書くのってちょっと苦痛じゃないですか?個人的には苦痛です。さらに、Metroスタイルアプリなので現在のCP版だと、いちいちインストールしたりエミュレータ起動させたりとちょっとお試しするのにもげんなりです。 単体テスト…

WinRTでのXAMLの名前空間の定義

この内容は、Windows 8 CPにもどついて記載しています。正式版とは異なる可能性があります。WPF, Silverlightではclr-namespace:名前空間;assembly=アセンブリ名でした(MSDNの該当記載箇所)がWinRTのXAMLでは変わっていました。Visual Studioのデザイナ上で…

Metro スタイルアプリケーション開発する人はチェックすべきBlog

Windows 8 アプリ開発者ブログ こんなに翻訳してくれるのがすごくありがたいです。内容も濃いものばかり、特に今日公開されたWinRT と await を掘り下げるとか濃くて涙ものです。ありがたやありがたや。

今一番イメージがつかみやすいと思った記事

C# または Visual Basic を使った初めての Metro スタイル アプリの作成 この記事がボリュームもあってHello worldからRSSリーダーまで書いてあったりして開発者としては最初のつかみとしていいかもと思いました。もちろんメトロの原則やらなんやらはきちん…

AppBarにボタンを置く

この記事の内容はWindows 8 CPの内容にもとづいて記載しています。Windows 8でMetro スタイルアプリケーションをいじいじしてるのですが、なかなかティーンと閃かない今日この頃です。ということで備忘録もかねて小ネタを1つ。 Metro スタイルアプリケーシ…