Hatena::ブログ(Diary)

Yuya Yamaki’s blog このページをアンテナに追加 RSSフィード Twitter

2012年01月19日(木曜日)

MetroスタイルアプリのJavaScript版とXAML版のコントロール対比表(Developer Preview時点)

Metro style apps using JavaScript XAML
Expression Blend 5 DPアセット名 WinJS名 HTML要素 テンプレート化されたアセット クラス名
Application Bar AppBar div Command Bar, Navigation Bar ApplicationBar
Button - button Command Button, Command Button Flyout, Command Button Menu Button
CheckBox - input - CheckBox
Date Picker DatePicker div - -
Drop-down List Box - select - ComboBox
- - canvas - Ellipse
FlipView FlipView div - FlipView
- Fragments div - Frame
- - div - Grid
ListView(layoutをGridLayoutに変更) ListView div - GridView
Link - a - HyperlinkButton
Image - img - Image
SemanticZoom SemanticZoom div - JumpViewer
Multi-line List Box - select - ListBox
ListView ListView div - ListView
- - video - MediaPlayer
- - audio -
Password Input Control - input - PasswordBox
Flyout Flyout div Flyout Custom, Flyout Menu, Flyout Menu Item Popup
Progress Bar - progress - ProgressBar
Progress Ring - progress - ProgressRing
Radio Button - input - RadioButton
Rating Rating div - -
- - canvas - Rectangle
Rich Text Input Control - div - RichTextBlock
Settings Pane SettingsPane div Settings Pane Narrow, Settings Pane Wide -
Slider - input - Slider
Label - label - TextBlock
Sing Line Text Input Control - input Email Address Input Control, File Upload Control, Telephone Number Input Control, Number Input Control, URL Input Control TextBox
Multi-line Text Input Control - textarea -
Time Picker TimePicker div - -
Toggle Toggle div - ToggleSwitch
Tooltip Tooltip div - Tooltip
View Box ViewBox div - Viewbox

2011年12月22日(木曜日)

「わんくま同盟 東京勉強会 #66」のセッション資料

 12/17(土)に行われた「わんくま同盟 東京勉強会 #66」のセッション資料を公開します。


 セッションの冒頭でWPFSilverlightXAMLとデモ等を用いて比較し、このくらい互換性があるのであればその差分を調べるというやり方である程度MetroスタイルのXAMLを理解できるのではないかといった趣旨の内容です。


MetroスタイルのコントロールのテンプレートをWPFアプリケーションで適用したもの

f:id:Yamaki:20111222102722p:image


SilverlightのコントロールのテンプレートをMetroスタイルアプリケーションで適用したもの

f:id:Yamaki:20111222102721p:image


  • 主な差分一覧
    • 新コントロール
    • 組み込みのアニメーション
    • タッチ操作
    • その他の差異と注意点



PDFダウンロード


2011年12月13日(火曜日)

わんくま同盟 東京勉強会 #66

わんくま同盟 東京勉強会 #66

f:id:Yamaki:20100112105517p:image


 2011年12月17日(土)に新宿で「わんくま同盟 東京勉強会 #66」が開催されます。東京勉強会では今年最後だそうです。


セッションスピーカーレベル
とりあえず作ってみよう Metro Style アプリケーション
Metro Style アプリケーションを作成する方法はいくつかありますが、今回は Javascript で作ってみます。
インフラジスティックス・ジャパン株式会社
池原大然氏
Lv.1くまー
WPF/Silverlight視点で視る MetroスタイルのXAML
ある程度のWPF/Silverlight経験がある方に向けて、その違いからMetroスタイルのXAMLを読み解くセッションです。
グレープシティ株式会社
八巻雄哉
Lv.2くまー
Windows Phoneアプリ開発 Marketplaceが教えてくれたこと
初めてのスピーカーです。よろしくお願いします。Windows PhoneのMarketplaceはアプリの販売、ダウンロードの場ですが、直接フィードバックを得られるという魅力もあります。勉強目的でWindows PhoneアプリをMarketplaceに公開してみましたが、意外にも公開後のいろいろなフィードバックから学ばせてもらったことが沢山あります。そんな経験則上のTipsを中心にお話しします。
株式会社セカンドファクトリー
杉下高仁氏
Lv.1くまー
Windows Phone アプリケーション、デモで見る開発のポイント
Windows Phone アプリケーションの開発の流れやポイントについて、Windows Phone担当エバンジェリストが語ります。
日本マイクロソフト株式会社
大西彰氏
Lv.1.5くまー
Visual Studio 11 Developer Preview をさわってみよう
次期バージョンの Visual Studio の早期評価バージョン、Visual Studio 11 Developer Previewを見てみます。Visual Studio 11 Ultimate 日本語版やTeam Foundation Server 11 日本語版 もあ ります。.NET Framework 4.5 も含めてその変化を確認してみましょう。
えムナウ氏Lv.1くまー


 Metroスタイル、Windows Phone、Visual Studio 11、.NET Framework 4.5と、 これからのマイクロソフト技術(主にUIネタが多くなっていますね)のセッションがあります。


 私のセッションはLv.2くまーとなっていますが、これはセッション自体の難易度が高いわけではなく、WPF/Silverlightの差分としてMetroスタイルのXAMLを理解するというセッションであるため、前提知識がいるという意味でのLv.2くまーとなります。ご参加お待ちしております。


2011年11月21日(月曜日)

必要な字体だけが含まれるフォントファイルを作成する方法

Panorama フォント遊び - 高橋 忍のブログ - Site Home - MSDN Blogs


 上記の高橋忍さんのblogで「本文で使わないのであれば、画像でも十分」と書かれていましたが、画像を作るのも案外面倒なものです。そこでここでは使用する字体だけを含むフォントファイルを作成する方法を紹介します。


  1. Microsoft Wordを使って、文書に必要な文字を抽出したいフォントで書きます。
    f:id:Yamaki:20111121143604p:image
  2. この文書を[名前を付けて保存]からXPS文書として保存します。
  3. 保存したXPSファイルの拡張子をZIPに変更し、解凍します。
  4. 解凍したフォルダの「Resources」というフォルダの中にODTTFという拡張子のファイルがあることを確認します。
  5. 以下のページに記載されている方法を使って、ODTTFから難読化されていないTTFファイルを作成します。
    ODTTF の秘密
  6. 通常のフォントファイルを埋め込むのと同じ方法で作成したTTFファイルを使用します。なお、フォント名は元のフォント名と同じです。


<TextBlock FontFamily="/ParicalFontTest;component/Fonts/かきくけこipag.ttf#IPAGothic"
        Text="かきくけこ" FontSize="54"/>


 ちなみに、今回の例として使用したIPAゴシックの“かきくけこ”の5字体だけが含まれたフォントファイルのサイズは84.5KBでした。


2011年11月19日(土曜日)

SilverlightとWindows PhoneのBitmapImageの読み込みは非同期で行われる

A bug in SDK 7.1 : Can’t get bitmap height/Width if using SetSource() and stream from media library - App Hub Forums


 以下のようなコードを実行した場合、WPFでは問題ありませんが、SilverlightやWindows Phoneでは最後の行の部分でInvalid pointerというメッセージと共にNullReferenceExceptionが発生します。


string name = Assembly.GetExecutingAssembly().FullName;
AssemblyName asmName = new AssemblyName(name);
BitmapImage image = new BitmapImage(new Uri("/" + asmName.Name + ";component/Images/Chrysanthemum.jpg", UriKind.RelativeOrAbsolute));

WriteableBitmap bitmap = new WriteableBitmap(image);


f:id:Yamaki:20111119143252p:image


 この現象はBitmapImageのCreateOptionsプロパティの既定値が異なることに起因します。WPFでは既定値はNoneですが、SilverlightやWindows PhoneではDelayCreationです。こちらのページでは既定値はNoneと書いてありますが、これは誤りです。


 CreateOptionsプロパティをNoneに設定することで、上記の問題を解決することができます。


string name = Assembly.GetExecutingAssembly().FullName;
AssemblyName asmName = new AssemblyName(name);
BitmapImage image = new BitmapImage();      
image.UriSource = new Uri("/" + asmName.Name + ";component/Images/Chrysanthemum.jpg", UriKind.RelativeOrAbsolute);
image.CreateOptions = BitmapCreateOptions.None;

WriteableBitmap bitmap = new WriteableBitmap(image);


 上記のフォーラムの回答に書かれているほかの解決方法として、BitmapImageのImageOpenedイベントを使って読み込み完了後に処理を行うようにする方法もあります。