アプリのパフォーマンスを分析するには

Frame Windows8.1の設定のような、左側にリスト化された項目があり、項目をクリックすると右側のPageが切り替わるようなUIは、Page内にさらにFrameを置くことで実現できます。 ストアアプリは、ルートフレームとよばれるFrameインスタンスが一番下のレイヤにあり、そこにPageをNavigateすることでページ遷移をすることができます。 だからFrame.Navigate(typeof(Page))でページ遷移が可能となっています。 そこで、RootFrameでNavigateされているPageの中に、さらにFrameを置いて、そのFrameに別のページを遷移することで内部で複数のページを切り替えているようなUIを作ることができます。 MainPageはこのようにします。 <Page x:Class=”App9.MainPage” xmlns=”http://schemas.microsoft.com/winfx/2006/xaml/presentation” xmlns:x=”http://schemas.microsoft.com/winfx/2006/xaml” xmlns:local=”using:App9″ xmlns:d=”http://schemas.microsoft.com/expression/blend/2008″ xmlns:mc=”http://schemas.openxmlformats.org/markup-compatibility/2006″ mc:Ignorable=”d”> <Grid Background=”{ThemeResource ApplicationPageBackgroundThemeBrush}”> <Grid.ColumnDefinitions> <ColumnDefinition Width=”3*”/> <ColumnDefinition Width=”7*”/> </Grid.ColumnDefinitions> <ListView x:Name=”listView” Grid.Column=”0″ SelectionChanged=”listView_SelectionChanged” FontSize=”16″ Margin=”0,100,0,0″></ListView> <Frame x:Name=”inlineFrame” Grid.Column=”1″></Frame> </Grid> </Page> 左側にListView、そして右側にFrameタグを置きます。 コードビハインドでは内部に入れたFrameから、各pageにNavigateを行います。 public sealed partial class MainPage : Page { public MainPage() { this.InitializeComponent(); listView.ItemsSource = new string[] { “Page1″,”Page2″,”Page3” };…

既存のアプリをユニバーサルアプリにするには

Windows Phone8.1の追加 VisualStudio Update2をインストールした状態で、プロジェクト名を右クリック→[WindowsPhone8.1の追加]を押します。 このようなダイアログが出るのでOKを押すと ソリューション内にWindowsPhoneのプロジェクトとSharedプロジェクトが作成されます。 Windows8.1の追加 逆に、WindowsPhoneのプロジェクトにWindowsストアアプリを入れてユニバーサルアプリにすることもできます。 プロジェクト名を右クリック→[Windows8.1の追加]を押すと このようなダイアログがでるのOKを押します。 ソリューション内にWindowsストアアプリのプロジェクトと共有プロジェクトが作成されました。

ユニバーサルアプリを作るには

VisualStudio Update2 ユニバーサルアプリをつくるには2014年4月16日時点でVisualStudio2013 Update2 RC版をインストールしておく必要があります。 新規プロジェクト VisualStudioのメニューバー→[ファイル]→[新規作成]→[プロジェクト]を選択します。 左側のテンプレートは[ユニバーサルアプリ]を選択し、空のアプリケーション(ユニバーサルアプリ)を選択します。 新規作成し、ソリューションエクスプローラーを見ると、 [アプリ名].Windows [アプリ名].WindowsPhone [アプリ名].Shared の3つのプロジェクトがあります。 [アプリ名].Windowsはストアアプリのプロジェクトで、[アプリ名].WindowsPhoneはWindowsPhoneのプロジェクトです。 [アプリ名].SharedはストアアプリプロジェクトとPhoneプロジェクトをまたぐ、PCL(Portable Class Library)より少し自由度の高い共有プロジェクトとなります。 つまり共通化したい情報(Resourceなど)は共有プロジェクトに入れ、ストアとPhoneの両方から参照するという形になります。

ユニバーサルアプリとは

ユニバーサルアプリとは ユニバーサルアプリとは、WindowsストアアプリとWindowsPhoneのアプリ間で(ほぼ)互換性を保ったアプリです。 WindowsストアアプリのプロジェクトとWindowsPhoneアプリのプロジェクトが一つのソリューションファイル内に入り、ストアアプリとPhoneアプリ間で共通される共有プロジェクトが存在します。 主な利点としては、 ・アプリ購入の共通化 ・アプリ内課金の共通化 ・共有プロジェクトによるリソースの共通化 ・ライブタイルなどのプッシュ通知チャネルの共通化 ・コードの互換性の向上 ・ローミングデータの共通化 などがあります。 つまり、Windowsストアアプリで購入したアプリがユニバーサルアプリであるならば、WindowsPhoneでも購入情報が共通化され、Phone版もダウンロードできます。 ユニバーサルアプリの概要についての詳細は@ITさんの記事を参考にしてください。 [ユニバーサルWindowsアプリ開発の勧め via @IT]

GridViewにグループ化された項目を表示するには

CollectionViewSource GridViewはグループ化された項目を表示することができます。 WindowsストアアプリのGridVewテンプレートなどはグループ化された項目が表示できるようになっています。 しかし通常のコレクションをItemsSourceに入れてもグループ化は表現できません。 そこでCollectionViewSourceというものを使います。 CollectionViewSourceはグループ化されたコレクションのバインドをサポートし、グループ化されたコンテンツを表示するときによく使われます。 グループ化されたコレクションを作る 今回はSampleItemというアイテムをSmapleGroupクラスでグループ化し、そのグループのコレクションをMainViewModelが持つという形のサンプルデータを作ります。 データの最小単位のアイテムです。 タイトルとテキストのメンバを所持します。 /// <summary> /// グループ内のアイテム /// </summary> public class SampleItem { //アイテムタイトル public string Title { get; set; } //アイテムテキスト public string Text { get; set; } public SampleItem() { } } SmapleItemのコレクションを持つグループです。 グループタイトルというメンバを持ちます。 /// <summary> /// データのグループ /// </summary> public class SampleItemGroup { //グループタイトル public…