月別アーカイブ: 2014年7月

既存のツールを Windows 8.1 のスタート画面に表示させる方法

デスクトップ PC で Windows 8.1 を使っているときスタート画面は、ほとんど使いません。というか、Win キーでスタート画面を開いた直後に、アプリの名前をキーボードで直接打って、目的のアプリを起動させています。まあ、Surface のようなタブレットの場合には、指でぽちぽちやるんでしょうけど、キーボードが付いている場合はこれが一番早いです。 こんな風に「vi」と打つと、アプリ名が補間されて「Visual Studio 2013」が起動できます。 この検索されるアプリ名ですが、前方一致なのか部分一致なのか、微妙なところでよくわかりません。たぶん、単語単位の前方一致になっているハズです。なので「i_view32」は、アンダーバーが単語の区切りとして認識されて、i_view32 としてマッチしているようです。 なので、うまく検索に出てこないときは、ショートカット名に適当なコマンド名を … 続きを読む

カテゴリー: windows 8.1 | コメントする

F# で Windows.UI.Xaml のクラスをリフレクションを使ってラップして Windows ストア アプリ作る試み

今、手元で作っている WinXamlProvider は、Windows Store 8.1 と Windows Phone 8.1 で使っている XAML を F# で動かそうという試みのひとつです。 WinXamlProvider http://github.com/moonmile/WinXamlProvider Windows Store アプリを作る F# プロジェクトが Microsoft から提供されればいいのですが、そんな雰囲気もない。正当な方法としては、自前で F# プロジェクトのテンプレートを作ればよいのですが、どうやら *.target のほうを大きく変えないと駄目っぽくて、頓挫中です。おそらく MSBuild あたりを詳細に調べないとうまくいかなそうなのと、XAML ファイルから C#/VB/C++ コードに落としている箇所に、うまく F# を追加しないといけません … 続きを読む

カテゴリー: F#, WinRT, XAML | コメントする

後付けの拡張メソッドを使って既存の拡張メソッドをオーバーライドする

裏ワザなのか基本技なのかわかりませんが、拡張メソッドを使うと「うまくやれば」既存のメソッドの動きを上書きできるかもしれん、という技です。 ■Xamarin.Forms の FindByName を入れ替える XamlProvider では、x:Name の解決のために FindByName を提供しているのですが、本当は元ネタの Xamarin.Forms の FindByName を使いたかったのです。内部実装まで真似て、Xamarin.Forms が使っている FindByName をそのまま使いたかった。が、これは Xamarin.Forms.NameScopeExtensions.FindByName 拡張メソッドで、実際に中でどうやっているかは分からないんですよね。実際、Name をキープするところは、実装依存なところがあるので、そこに手を入れらるかどうかはわかりません。 仕方が … 続きを読む

カテゴリー: C#, F# | コメントする

Xamarin.Forms+F# で Navigation.PushAsync を使うときの注意

Xamarin.Forms で、次のページに遷移させるときには NavigationPage クラスを使って置いて、遷移先のページに対して、 なことをやります。NavigationPage を使うと複数ページを簡単に扱えるので、超簡単なスマートフォンアプリを作る分には楽ですよね。テスト的に作るときにいいです。 これを F# でやります。 ■サンプルコード FSharpNavigationPushAsync http://github.com/moonmile/XamarinSamples/tree/master/FSharpNavigationPushAsync 簡単な遷移だけのサンプルコードです。 iOS/Android/Windows Phone で動くようにしてあります。フロントは面倒なので C# で書いてありますが、中身の PCL のところは F# になっています。フロント部分は、 … 続きを読む

カテゴリー: F#, Xamarin | コメントする

小4の夏休みの宿題をチケット駆動で乗り切る方法を模索

先日の日曜日、日割りでスケジュールを立てた後、1日のタイムスケジュールを立てたのですが、初日からうまくいかないことが判明…いや、途中にプールが挟まったり、学校の短時間の補習がはさまったりして、うまくいきませんでした。初日から、午後6時過ぎまで夏休みの宿題をしている有様に。 まずは、前提から書きますので、参考にしてください。 ■夏休みの宿題の全体を把握する 先週の日曜日にやったことは、まず、夏休みの宿題の量を全体として把握しておくことです。 漢字ドリル 計算ドリル 公文算数 一言日記 自由研究(かたつむりの観察日記) 読書感想文 この中で、一言日記は毎日やることなので別な計画にします。自由研究はかたつむりの観察日記だそうで、これも毎日やります。読書感想文は、適当な締切を決めて(祖母の家に遊びに行く前とか、海に遊びに行く前とか)自由にしておきました。 公文算数は週5ペースでやるので … 続きを読む

カテゴリー: 雑談 | コメントする

Xamarin.Forms の XAML を F# から使うために XamlTypeProvider を使う

XFormsPreviewer では、動的にXAMLファイルをロードしてレンダリングする(内部的にはXamarin.Formsのコントロールを生成する)してプレビューを実現していますが、このコアライブラリに XamlTypeProvider があります。最初は Xamarin.Forms のプレビューだけを作るつもりだったけど、作っているうちに F# の TypeProvider と似ていることがわかり、じゃあ TypeProvider 的にしようとしたのが発端です。 ■Xamrin.Forms と XAML の関係 要は、WPF や Windows Store の XAML と同じように、フロントエンドを記述する XAML と、ビルド時に自動生成される partial class とで成り立っています。この partial class のほうで、コントロールの名前による参照や、ボタンコン … 続きを読む

カテゴリー: 開発 | コメントする

NuGetでXamarin.Forms.XamlProvilderを公開しました

動的にXamarin.FormsのXAMLファイルをロードするときのライブラリとして使っている、Xamarin.Forms.XamlProvilder を NuGet で公開しました。 NuGet Gallery | Xamrin.Forms Xaml Provider 0.1.1 https://www.nuget.org/packages/Xamarin.Forms.XamlProvider/0.1.1 XAMLの文字列から ContentPage 等を作るので、こんな風にXAML形式のデータをC#のコード内に埋め込んで記述ができます。 文字列から動的に変換するので、ファイルリソースをプロジェクトに埋め込ませて読み込むこともできます。 これを HTTP 経由で拾ってくるようにしたのが XFormsPreviewer です。 当然、HTTP 経由で拾ってくるので、インターネット上に XA … 続きを読む

カテゴリー: C#, Xamarin | コメントする

Xamarin.Forms 用のプレビューアをアルファ版で公開

1週間ほど掛けて、おおまかなところが動いてきたのでアルファ版で公開します。 何ができるかというと、Xamarin.Forms の XAML ファイルを動的にロードして、エミュレータ上に表示させます。現在のところ、Xamarin Studio にも Visual Studio にも GUI ベースのデザイナがないので、XAML コードを手打ちしています。まあ、手打ち自体は構わないのですが、画面の表示を確認するのに、いちいちビルドしてエミュレータなどにデプロイしないと画面が分かりません。勢い、StatckLayout などの汎用的な画面を作ることが多いのですが、それにしても色とか微妙な文字の配置とかが面倒です。そこで、XAML 記述を HTTP 経由で持ってきて、エミュレータ内で再構築するプレビューツールを作りました。エミュレータ上で画面をリロード(HTTP 経由で XAML ファイルを再びロ … 続きを読む

カテゴリー: F#, Xamarin | コメントする

Xamarin.Formsへ動的にXAMLデータをロードする…の手始め

第1回 Xamarin User Group は無事終了。プレゼン資料については後ほど解説を入れるとして、なにかと気になったので、ちょっと手を付けてみました。 Xamarin.Forms を使うとき、Phone の場合は画面が狭いので手打ちで XAML を書いてもなんとかなるのですが、タブレットのように広い画面になった時や、Xcode の autolayout みたいな感じでレイアウトしようとすると手打ち XAML だけだと結構大変です。実行しないとうまくいかないし、懇親会でもレイアウトに苦労している場面もあったりして、 エミュレータで実行してみないと、タグの typo が分からない。 エミュレータで実行してみないと、レイアウト崩れがわからない。 のは、いかんともしがたいところ。Xamarin.Forms 用のデザイナが出ればいいんですが、暫くは出る様子もないので、なんとかならんかなと。そ … 続きを読む

カテゴリー: C#, Xamarin | コメントする

Xamarin.iOS/Android から F# PCL プロジェクトを使う方法

ちょっとトリッキーなので、後から Xamarin Studio 側が修正するような気もしますが、現状の回避策として。 ■Xamarin.Forms を F# で使う Xamarin.Forms は、PCL版とShared版があります。C# では “Mobile Apps” から どちらかのプロジェクトを選びますが、F# のプロジェクトにはこれがありません。じゃあ、F# では作れないのかというとそうではなくて、単純に、 – F# で PCL プロジェクトを作成する – F# で iOS/Android プロジェクトを作成する – iOS/Android プロジェクトから PCL プロジェクトを参照させる という手順で Ok なハズです。PCL プロジェクト自体は、Xamarin Studio では作れないので、Visual Stud … 続きを読む

カテゴリー: F#, Xamarin | コメントする