レビューメディア「ジグソー」

Die は再挑戦用の2nd Windows Store Apps AEL 対策のアプリです。

----↓---- Kinect Sensor と Windows ストアアプリの連携? -------
Kinect for Windows センサー L6M-00005 http://zigsow.jp/portal/own_item_detail/205520/
・・・
----↑---- Kinect Sensor と Windows ストアアプリの連携? -------
熊野神社脇の観察園?の緑の写真 http://zigsow.jp/portal/own_item_detail/210235/
FreeOrder 緑の背景素材2 http://zigsow.jp/portal/own_item_detail/215542/
Western Digital Caviar Green 3.5inch 5400rpm 2.0TB 64MB SATA 6.0Gbps WD20EARX
FreeOrder 環境編 http://zigsow.jp/portal/own_item_detail/214346/
FreeOrder (前編) http://zigsow.jp/portal/own_item_detail/215050/
FreeOrders(中編)後半が中編となります。 http://zigsow.jp/portal/own_item_detail/214669/
FreeOredes for 1st AEL(後編) http://zigsow.jp/portal/own_item_detail/215302/
FreeOredes for 1st AEL page 2 http://zigsow.jp/portal/own_item_detail/215561/
SyncroMassgame for 2nd AEL http://zigsow.jp/portal/own_item_detail/215562/
FreeOredes for 1st AEL page 3 http://zigsow.jp/portal/own_item_detail/215744/
Dice http://zigsow.jp/portal/own_item_detail/217279/
Die  http://zigsow.jp/portal/own_item_detail/216966/
Dice can snap http://zigsow.jp/portal/own_item_detail/218873/
---------------------------------------------------------------------------
http://zigsow.jp/portal/own_item_detail/214130/


の画像やコードの一部を再利用したので、これも1粒で2度おいしい系?←2012/9/24am11:57add

[現在、Windows Store アプリを4本作成中です。下図 MyAEL00.jpg を参照。Ctrl+Fで検索可能。

完成形に注力しているのが、Die と SynchronizedSwiming だ。

http://zigsow.jp/portal/own_item_detail/216263/


----↓---- Kinect Sensor と Windows ストアアプリの連携? -------
Kinect for Windows センサー L6M-00005 http://zigsow.jp/portal/own_item_detail/205520/
----↑---- Kinect Sensor と Windows ストアアプリの連携? -------
熊野神社脇の観察園?の緑の写真 http://zigsow.jp/portal/own_item_detail/210235/
FreeOrder 緑の背景素材2 http://zigsow.jp/portal/own_item_detail/215542/
Western Digital Caviar Green 3.5inch 5400rpm 2.0TB 64MB SATA 6.0Gbps WD20EARX
FreeOrder 環境編 http://zigsow.jp/portal/own_item_detail/214346/
FreeOrder (前編) http://zigsow.jp/portal/own_item_detail/215050/
FreeOrders(中編)後半が中編となります。 http://zigsow.jp/portal/own_item_detail/214669/
FreeOredes for 1st AEL(後編) http://zigsow.jp/portal/own_item_detail/215302/
FreeOredes for 1st AEL page 2 http://zigsow.jp/portal/own_item_detail/215561/
SyncroMassgame for 2nd AEL http://zigsow.jp/portal/own_item_detail/215562/
FreeOredes for 1st AEL page 3 http://zigsow.jp/portal/own_item_detail/215744/
---------------------------------------------------------------------------

SynchronizedSwim を改名して SynchronizedSwiming とした。
DieUS01.jpg
DieUS01.jpg

DieUS00sprash.jpg
DieUS00sprash.jpg

DieUS02.jpg
DieUS02.jpg

DieUS03.jpg
DieUS03.jpg

DieUS04.jpg
DieUS04.jpg

DieUS05.jpg
DieUS05.jpg

http://zigsow.jp/portal/own_item_detail/216263/


MyAEL00.jpg
MyAEL00.jpg


DieCharmSetting01.jpg
DieCharmSetting01.jpg

やっとチャームで設定を出せた!
DieCharmSetting02.jpg
DieCharmSetting02.jpg

ほかにもたくさん追加した!
しかし、なぜがチャームでヘルプやプライバシーポリシーを表示ができなかった。
この1行(★)が抜けていた。
App.xaml.cs 内の
protected override async void OnLaunched(LaunchActivatedEventArgs args)
{・・・
// 現在のウィンドウがアクティブであることを確認します
Window.Current.Activate();
SettingsLoad(); //★これがけていた!
}

DiePrivacyPolicy.jpg
DiePrivacyPolicy.jpg

DieHelp.jpg
DieHelp.jpg

DieSearchNotUse.jpg
DieSearchNotUse.jpg

DieSareNotUse.jpg
DieSareNotUse.jpg

DieSwimerTopTile.jpg
DieSwimerTopTile.jpg


まだ、DieUS04.jpgでスナップでDieが欠ける、でかすぎるのを小さくできないか調査した。
TachDePo のテンプレートを部分的に持ってくるスタイルでの開発だ。
これには理由があって、xxxxxxxxxxxxxxxxxxxxxxxx.pfxがTachDePo.pfxになったしまうからだ。
DieSnap.jpg
DieSnap.jpg

この上部のソースのコメントアウトの部分をコピーして、付け加えるとsnapでもダイス画像が欠けない、DieUS04.jpgとはことなり、小さなものになった!
DieSnapEditFromTachDePo.jpg
DieSnapEditFromTachDePo.jpg

さあ、開発者トークンをもらえるだろうか?パスできるだろうか?これで十分か?
スナップで回転さしてみた。
DieSnap2.jpg
DieSnap2.jpg

縦にするとSnap表示できない!?
まだ、状態を追加すべき?
こんな単純なアプリでもまだ縦表示するために2つの状態の定義が必要?
DieSnap3.jpg
DieSnap3.jpg

snapの時だけと制限がつけれない?

とにかく縦は未サポートだといえばこれでも通る?

でも、利用者にとってはNGでは?
⇒いや、DieSnap4.jpg]をみると、他のコンテンツが見えているので見せる必要がないのでは?
⇒この考え方は正しい?

さらにいうと、ALT+TABで切り替わるからこれでいいのでは?
そう、隠れたところが呼び出せる。

でもALT+TABするとスナップ状態がなくなるのはそれでいい?


DieSnap4.jpg
DieSnap4.jpg


以上、まにゅフェストで横のみサポートとするのをやめた。4つともチェックなしでいい?
⇒いや、4つともつける方がいいようだ!?




サスペンドの処理が実装されていることを確認。AELの資料には
『・・・【USER EXPERIENCE – PLM】ユーザーエクスペリエンスーPLM
Handles PLM states appropriately  PLM の状態を適切に処理しているか
ユーザーが複数のアプリケーションを自由に利用できるように、
適切かつ効率的にプロセスライフサイクルマネージメント (PLM)
のイベントを処理しなくてはなりません。
参考ページ:アプリの中断と再開のガイドライン (Metro スタイル アプリ)
http://msdn.microsoft.com/ja-jp/library/windows/apps/hh46... (英語) ★
・・・』 とある。
⇒しかし、なぜ?ベースのテンプレートに事前に仕込んでいないのだろう?
⇒今、少し、★のページを覗いてみたが、わからん。
ペースのテンプレートに少しばかり入っているが、なんか、★のページを書いている内容と完全一致しない。
⇒どう、吸収させればいい?

⇒一時停止って、ユーザーの切り替え、ログオフして、戻ってログオンしたときに同じ画面になっていること?

あるいは、放置して、自動で中断するまで待つ?

ctrl+alt+deleteで出てくるやつから、できる?


これからの調査はデベロッパーでないとできない?

自称コンテストハンターは当然デベロッパーだから、なんとか、アプリ中断後の復帰で同じ状態になるように、テンプレートのどこかに、何らかの追加するコードの正体を今から突き止める。
⇒たいへんだ。こんなシンプルなアプリでもこれなのだから、たいへんだ。

⇒もう、自問自答しか、間に合う道はないと思う。というか、他の手を私は知らない。
交通費がもったいないので、自転車ばっかりのっている状態なので、追加のコストは当然かけることもできない。
⇒自分とgoogleの先の情報の財宝を信じて、自問自答の再開だ!


おっと、その前に現在のDieの状態は、この中断からの復活ができれば、完璧?

フォントも見る?

ダイス。これだけで、十分明確なミッションとスコープがあり、ブランドと目的があると私は判断している。
この点をNGと言われれば、一貫の終わりだ。

 もうひとつのSynchronizedSwiming03も同じように進んでいるのだが、
Webアプリならできることが、Windows Store ではやり方が違っていて、これを吸収するための調査が大変だった。これを使えば、というか、改造すればできるという、SDKまでは見つけたが、これから、どのくらい時間がかかるのか見当がつかない。あっちこっちのテンプレートやSDKのソースを覗いてはああだこうだと仮説をたて、ソースをちょこっと改造したり、テンポラリアプリ作ったりの開始だ。ほんで、解決したら、それから、通信まわりのエラー処理も必要だ。一見簡単に見えるが、これも未知な部分が多い。

 さて、あと、2日とちょっとでどこまで、いけるだろうか?

一貫の終わりだけは避けたいのだが・・・・。
でも、まだ、AELからのメールが来ていない?

サイコロアプリじゃ参加は却下なのだろうか?

完成形まで頑張って仕上げたのに?

async void App_Suspending(Object sender, Windows.ApplicationModel.SuspendingEventArgs e) で
google

How to use ApplicationStateModel class of .net Metro style app?
http://stackoverflow.com/questions/8857638/how-to-use-app...
に『・・・
this.Suspending += new SuspendingEventHandler(App_Suspending);
this.Resuming += new Windows.UI.Xaml.EventHandler(App_Resuming);
・・・App_Resuming
・・・App_Suspending
  SuspendingDeferral deferral = e.SuspendingOperation.GetDeferral();
await **ApplicationStateModel**.SaveAllApplicationDataAsync();
await ApplicationStateModel.SaveSessionStateAsync();
deferral.Complete();
・・・』とある。
⇒これは質問で回答がまだない?
⇒deferralって、確かさっきみたけど、なんだろう?


アプリケーションが専用のローカルに持る領域も文字列として、状態を保存し、復帰時にこれを使って復元すると仮説を立てて、調査するなり、テストソース追加するなり、してみる。


アプリを一時停止する方法 (C#/VB/C++ と XAML を使った Metro スタイル アプリ)
http://msdn.microsoft.com/ja-jp/library/windows/apps/xaml...

アプリを再開する方法 (C#/VB/C++ と XAML を使った Metro スタイル アプリ)
http://msdn.microsoft.com/ja-jp/library/windows/apps/xaml...

開発者テンプレートで5つの中で、実装しているのがないか、検索してみる。

さっき、VS2012の既定のテンプレート内をみると似てるけど、欠けている?ようにも感じる部分一致のコードがあった。

 でも、FaceBook でシンプルなアプリがWindws 8 ストア に登録されたって出ていたけど、この問題を当然解決したから、この2つに書いてあるコードを完成形にして、審査パスしたんだろう。

 んーどうやったのだろう。そっちのほうが気になるのが人情だ。

 でも、Kinectの終了処理のコードで イベントハンドラを -= で、削除していたのを見かけたような・・・


 Windows Phone でいうなら、トライアル版のためにストレジにハッシュキーと使って?保存して、必要時に呼び出して、値を復元して、再開しているのと似ているような気もするし・・・・



上掲のgoogle 検索のトップから3番目にあった、
[PDF] View (XAML UserControls + CodeBehind) ViewModel - Reflection ITをクリックして
http://www.google.co.jp/url?sa=t&rct=j&q=&esr...
からダウンロードした、WP7toWin8SlidesFonsSonnemans.pdf
をみると、Windows Phone 8
『・・・
private void Application_Launching(object sender, LaunchingEventArgs e)
{
 RestoreSettings();
}

private void Application_Activated(object sender, ActivatedEventArgs e)
{
if(!e.IsApplicationInstancePreserved) RestoreSettings();
}

private void Application_Deactivated(object sender, DeactivatedEventArgs e)
{
SaveSettings();
}

private void Application_Closing(object sender, ClosingEventArgs e)
{
SaveSettings();
}

private void restoresettings()
{
object value;
if( IsolatedSrorageSettings.ApplicationSettings.TryGetValue("Question", out value)){
this.viewModell.Question = value as Models.Question;
}
}

private void savesettings(){

IsolatedStorageSettings.ApplicationSettings["Question"]=this.ViesModel.Question;
}

private mainviewModel viewmodel{
get{ return this.resources["MainViewModeDataSource" as MainViewModel;}
}

・・・』とある。PDFでコピーできないので、目視で書いたので大小文字が適当だ。
⇒wp8でMVVMだけど、なんか、イメージが湧いた。


------2012/9/24 am 7:05 add ----------------------------
昨日は自問自答ライブの本日の終了宣言を忘れてしまった。ごめんなさい。

さて、今日は Windows 8 アプリ開発体験テンプレート http://msdn.microsoft.com/ja-jp/jj556277.aspx
で作成したアプリ内をいろいろなキーワードで検索してみる。実装されているとよいのだが・・・

されてなくても、上掲のイメージがあるのでなんとかなる?

------2012/9/24 am 7:35 add ----------------------------
やるといっておきながら、他のことをしていた。頭の中はいつも、あっちこっちだ。

 自問自答ライブのスタイルだから、できることだ。そう、私にはこれがあっているようだ。
いつも、自由に考えられるし、対話がないので、人様を基本的には拘束しないからだ。
 思いついたことをアイデアだけで、準備もなしに、リハもなしに、ライブで書き進める。一人だから、台本づくりや、清書もしてられない。毎日のライブの調査の書き込みが、同時にコンテスト作品の作成となって、また、書き込み自体が将来、各国の言語にローカライズする元ネタとなっている。さらに、公開することで営業にもなっている?実績がないと、全く何も始まらないのが普通だ。実績に代わるもの、今までにないものを作ることで、世の中に貢献したい。これらが、自問自答のライブスタイルをとって活動している理由だ。何を作っても、まね改良されることがあたりまえになる?と思っている。だから、生み出し続けることが大切だ。

 いままでも、いろいろ、自問自答をWebサイト でやってきたが、1週間以上自問自答のライブしていることはいっぱいある。そう、コンテストハンターをなのっているので、コンテスト作品を調査しながら作成していたからだ。そして、それを自問自答のライブ感覚でサイトに書き留めていた。

 さて、宣伝はやめて、 本題の調査開始だ。途中、外出して銀行へ出かけるつもりです。

----------2012/9/24 am 11:01 add ---------
Basic Photo for Win83
Entertainment Photo3
NewsApp3
TouchDePo2

『・・・
this.Suspending += OnSuspending;
・・・
/// <summary>
/// アプリケーションの実行が中断されたときに呼び出されます。アプリケーションの状態は、
/// アプリケーションが終了されるのか、メモリの内容がそのままで再開されるのか
/// わからない状態で保存されます。
/// </summary>
/// <param name="sender">中断要求の送信元。</param>
/// <param name="e">中断要求の詳細。</param>
private async void OnSuspending(object sender, SuspendingEventArgs e)
{
var deferral = e.SuspendingOperation.GetDeferral();
await SuspensionManager.SaveAsync();
deferral.Complete();
}

/// <summary>
/// 検索結果を表示するためにアプリケーションがアクティブになるときに呼び出されます。
/// </summary>
/// <param name="args">アクティブ化要求に関する詳細を表示します。</param>
protected async override void OnSearchActivated(Windows.ApplicationModel.Activation.SearchActivatedEventArgs args)
{
・・・
・・・』

となっている。片方向のサスペンド時だけ、なんかちょっとだけ、処理している。
⇒GetDeferralはメモリへのサスペンド処理?


⇒メモリから消された場合はストレジへのサスペンド処理が必要?



でも、もう片方の復元?再開?のレジューム時のコードがない。

MSDNでは、
サスペンド時は
『・・・

Application.Current.Suspending += new SuspendingEventHandler(App_Suspending);
・・・
async void App_Suspending(
Object sender,
Windows.ApplicationModel.SuspendingEventArgs e)
{
// TODO: This is the time to save app data in case the process is terminated
}

・・・』
となって、

レジューム時は

『・・・
Application.Current.Resuming += new EventHandler<Object>(App_Resuming);

・・・
private void App_Resuming(Object sender, Object e)
{
// TODO: Refresh network data
}

・・・』
となっている。
⇒ここには『・・・アプリに更新する表示コンテンツがない場合、アプリで Resuming イベントを処理する必要はありません。・・・』
とある。
⇒時刻表示のようなもの?

⇒そういえば、WP7の開発では結構自動でやってくれていたのだが・・・。それと同じ?


e.SuspendingOperation.GetDeferral()で google

★★★★★
パート 2: アプリのライフサイクルと状態を管理する (C#/VB と XAML を使った Metro スタイル アプリ)
http://msdn.microsoft.com/ja-jp/library/windows/apps/hh98...
に『・・・中断しているアプリはメモリに常駐を続けます。アプリが中断してから再開する場合、ずっと実行していたかのように見せるための追加のコードを記述する必要はありません。・・・』とある。
⇒レジュームに追加するコードが不要?
⇒おお、このページに
追加するコードや、
Visual Studio でアプリの中断、終了、復元をシミュレート方法が書いてある!
5つ星を付けた!


nekosogiの場合は初めから行き詰まっているので、サンプルのダウンロード c# から
Getting started with C# and Visual Basic: Hello World and Blog reader samples
http://code.msdn.microsoft.com/windowsapps/Getting-starte...
に飛んで、Getting started with C# and Visual Basic Hello World and Blog reader samples.zipをゲット。
DieSuspendResume01.jpg
DieSuspendResume01.jpg











追加で気になったこと。

画像サイズどうしよう?

最大画面時、小さい?


DieSuspendResume02.jpg
DieSuspendResume02.jpg

DieSuspendResume03.jpg
DieSuspendResume03.jpg

でもソースコードをみるとVisual studio の既定のテンプレートのサスペンドのコードと同じ内容なのでは?
たしかに、私は、前回のAELで、既定のテンプレートで元に戻らなかったのでNG項目となっていたのだ。
AELでも、今試しているときでも、既定のテンプレートで作ったアプリやこのサンプルの既定とほぼ同じ内容のアプリ両方で復帰がうまくできていない。これはなぜ?

何がどう間違っている?


さてブレイクポイントに来るのだろうか?

まず、このプルダウンメニューを下に移動できない。選択して色行にできない。これでいいの?
⇒DieSuspendResume04c.jpgを参照
DieSuspendResume04.jpg
DieSuspendResume04.jpg

DieSuspendResume04a.jpg
DieSuspendResume04a.jpg

DieSuspendResume04b.jpg
DieSuspendResume04b.jpg

DieSuspendResume04c.jpg
DieSuspendResume04c.jpg

再開を選べた!
DieSuspendResume04d.jpg
DieSuspendResume04d.jpg

DieSuspendResume04e.jpg
DieSuspendResume04e.jpg

なんか、書いてあるどうさがうまくいかないので、DieSuspendResume04e.jpgのように、
F5キーを使わないで▼プルダウンからマウスやるとなんか、中断と再開の動作ができているように思えた。
でも、中断してシャットダウンさせた場合は、やっぱり、中断中にOSにメモリから勝手に削除された状態になって、何かコードの追加がいるようなきがするのだが・・・

このサンプルをどう読み取る?

すこし、本文を読んでみる?

え、まだ、nekosogiは読んでなかったの?⇒はい。

DieSuspendResume04f.jpg
DieSuspendResume04f.jpg

しばらくすると起動中でもない、中断でない、状態になっていた。ここからF5や緑▲実行すると復元できるの?

おお、『・・・ 2番目のチュートリアルは終わりです。・・・・』とある。
つまり、スタートアップが今1番目の状態で確認していたから、書いてある通りにできなかった?

スタートアップを2番目のにして、再テストする。
DieSuspendResume04g.jpg
DieSuspendResume04g.jpg

DieSuspendResume04g1.jpg
DieSuspendResume04g1.jpg

おお、中断&シャットダウンしたあとの再開でdataの復元ができているのを確認できました。
DieSuspendResume04h.jpg
DieSuspendResume04h.jpg

このページの
.SuspensionManager.RestoreAsync 関係を追加して、対応する残りの箇所があれば、それらも探して追加すればいい?

この3行が必要なだけ?


 RestoreAsync で改めて、開発者テンプレートを再検索すると以下のように実装していた。
上掲では実装がないと思っていた。 しかし、本当は実装されていた。

 FreeOrderは手作業でコピー取り込みしたので、この部分の吸収が漏れていた。

■ NewsApp3
App.xaml.cs

override async void OnLaunched 56
await SuspensionManager.RestoreAsync();

async override void OnSearchActivated 211
await NewsApp4.Common.SuspensionManager.RestoreAsync();

■ TouchDePo2
App.xaml.cs

async override void OnSearchActivated 211
await TouchDePo2.Common.SuspensionManager.RestoreAsync();

■ Entertainment Photo3
App.xaml.cs

OnLaunched 67
await SuspensionManager.RestoreAsync();

async override void OnSearchActivated 146
await Entertainment_Photo3.Common.SuspensionManager.RestoreAsync();

■ Basic Photo for Win83
App.xaml.cs

override async void OnLaunched 73
await SuspensionManager.RestoreAsync();

async override void OnSearchActivated 137
await Basic_Photo_for_Win83.Common.SuspensionManager.RestoreAsync();

Die(あとでDiceと改名します)にはチャーム検索は実装しないのでOnLaunched のだけの実装でいい?



① Basic Photo for Win83とGettingStarted_CSTutorialsの比較

SuspensionManagerをプレフィックスなしで使うのと、ありの違いは?

プレフィックスなし” await SuspensionManager.RestoreAsync(); ”なのは
・Basic Photo for Win83
・Entertainment Photo3
・NewsApp3

プレフィックスあり” なのは
・GettingStarted_CSTutorials
await HelloWorld_Part2.Common.SuspensionManager.RestoreAsync();

・TouchDePo2
await TouchDePo2.Common.SuspensionManager.RestoreAsync();

さて、nekosogiはどちらでいこうか?
プレフィックスありでいく!上掲でGettingStarted_CSTutorialsで確認できたからこちらを選択する。
DieSuspendResume04h1.jpg
DieSuspendResume04h1.jpg

DieSuspendResume04i.jpg
DieSuspendResume04i.jpg

アプリケーションを中断してシャットダウンできません。致命的なエラーです。

もしかしてコード変更しなくてもOKなのでは?

DieSuspendResume04i1.jpg
DieSuspendResume04i1.jpg

DieSuspendResume04i2.jpg
DieSuspendResume04i2.jpg

DieSuspendResume04i3.jpg
DieSuspendResume04i3.jpg

DieSuspendResume04i4.jpg
DieSuspendResume04i4.jpg

確かに、中断&シャットダウン後にサイコロの目は3で復元できたのだが、スナップでない。
これでいい?一旦、シャットダウンしてしまうと、VS画面が広がる。これはスナップのダイスが消えた、シャットダウンしたためである。この状態で、F5で復帰するとこの状態になるのでは?
つまり、Visual Studio 2012内からの起動ではこうなってしまうのでは?
いや、シュミレータでならうまく、復元時にスナップ状態になる?

DieSuspendResume04i5.jpg
DieSuspendResume04i5.jpg

ひとつ前の状態画面が利用されるというか、
画面の状態を判断して表示していると考えれば、画面をsnap状態に、別途してあげればいいのでは?
DieSuspendResume04i6.jpg
DieSuspendResume04i6.jpg

DieSuspendResume04i7.jpg
DieSuspendResume04i7.jpg

DieSuspendResume04i8.jpg
DieSuspendResume04i8.jpg

どうやればスナップ側に復元してくれる?
さっきのGettingStarted_CSTutorialsはトップ画面のスナップだったからできた?

トップから呼ばれた画面だと、
うまくスナップで復元できないのは、何か不足してるから?

トップ画面ならDieでもできる?

でも、トップ画面は情報を何ももっていない。サイコロの目がない!

ほんと、テスト項目が多い・・・・

これは考えすぎ?

縦棒を右か左へずらせば、すぐにsnapになるからよしとする?

さて、これは元の状態とは言わない?

VS2012の既存のテンプレートはどうなっている?

snap状態でサスペンド、中断&シャットダウンさせて後のレジューム、F5でsnap状態に戻せるか、確認する。
DieSuspendResume04j.jpg
DieSuspendResume04j.jpg

既定のグリッドのテンプレートもスナップを中断シャットダウンをスナップに戻せない!

まさか、既定のテンプレートでもできていないことの実装を強制するとは考えにくい?

これで正しい?
DieTabIndex01.jpg
DieTabIndex01.jpg

DieTabIndex02.jpg
DieTabIndex02.jpg

キーボードだけで操作できるか?
DieTabIndex03.jpg
DieTabIndex03.jpg

Tabで破線四角でカーソルが来る!

Tabで破線四角でカーソルが来ない!
DieTabIndex04.jpg
DieTabIndex04.jpg

どれだ?カーソルが止まるようにできるものは?
⇒ボタンコントロールだから、無条件にとまれる?
TABや←→でカーソルで移動して来ることができる?

<Grid Grid.Column="0" Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" Width="250" Height="250">
<Border>
<Image x:Name="tile1" Source="Assets/DiceSingle.png" Tapped="tile1_Tapped"/>
</Border>
<StackPanel Orientation="Vertical" VerticalAlignment="Center">
  <!--<TextBlock x:Name="headerTile1" Text="{StaticResource Tile1Name}" HorizontalAlignment="Center" VerticalAlignment="Center" Style="{StaticResource HeaderTextStyle}" Foreground="#DEF30A0A" FontWeight="Normal"/>-->
<TextBlock x:Name="headerTile1" Text="" HorizontalAlignment="Center" VerticalAlignment="Center" Style="{StaticResource HeaderTextStyle}" Foreground="#DEF30A0A" FontWeight="Normal"/>
</StackPanel>
</Grid>
のGridにTabIndex="1"を入れるとエラーになったが、できない?
⇒GridViewならできる?Gridだからできない?できても変更が大変では?

⇒SelectionMode="None"に効果ある?selectedのような指定ができる?

⇒d:DataContext="{Binding AllGroups[0]の[0]のようなselectedのような指定ができる?

⇒サイコロが1個のみで、それ固定だから、ロード時にフォーカスを固定でもたせる。常につかんでいてもいいのでは?

つまりキーボードでは→もTABも不要でエンターキーのみが必要で、使えるというのでもいいのでは?

DieTabIndex05.jpg
DieTabIndex05.jpg

TAB、←、→で移動できない?
⇒どうしよう? o to ka jo? What should I do?
疲れてきた。

明日は、
①Diceに名前変更、
②このキーボードのみ操作のつづき、
③タイルの色の見直し?、
④背景の色の見直し、
⑤フォントのサイズ?、
⑥数字を表示する?しない?
⑦大画面でサイコロが小さく見えるがこれでいい?実際の大画面だとシュミレータよりずっと大きいのだから?

の残務となる。しかし、テスト項目が多いし、バリエーションがいろいろあって、大変だ?
単純に慣れていないだけ?

------------2012/9/25 am 7:21 add -------------------------
さあ、ラスト1日だ!あじゃ、ファイティン!

TABオーダー

・TabIndex でフォーカス移動

・TabStop=True でフォーカス取得

を試してみる。
DieTabIndex05a.jpg
DieTabIndex05a.jpg

DieTabIndex05b.jpg
DieTabIndex05b.jpg

DieTabIndex05c.jpg
DieTabIndex05c.jpg

GridViewに変更しないとTabIndexプロパティが使えない?
DieTabIndex05d.jpg
DieTabIndex05d.jpg

文字TABを入れたけど止まらない!
GridViewへの改造は大変?

DieTabIndex05e.jpg
DieTabIndex05e.jpg

Gridコントロールに名前がないと止まらない?

GotFocusやLostFocusもある!
LoadedでGotFocusすればいい?

DieTabIndex05f.jpg
DieTabIndex05f.jpg

gridDie_LoadedよりWindows 8 store アプリはLoadStateでフォーカス取得すべき?


どんなコードになる?

this.Frame.Navigate(typeof(ItemDetailPage), "tile2");

get { return String.Format("{0} ({1})", _name, _count); }

set { if (this.SetProperty(ref _name, value)) this.OnPropertyChanged("Description"); }

やっぱり、new するのはいけない?


GridViewのほうが無難?



Windows LoadState SetFocus google

Metro/Windows8 compile error: LoadState() => no suitable method found to override
http://stackoverflow.com/questions/10860002/metro-windows...
に『・・・
this.itemsViewSource.View.MoveCurrentToFirst();
・・・』とある。
⇒MoveCurrentToFirst() のようなもので見つけられない?

DieTabIndex05g.jpg
DieTabIndex05g.jpg


FindName
FindSubElementsForTouchTargeting
Focus
FocusState
どれか使えない?

DieTabIndex05g1.jpg
DieTabIndex05g1.jpg

childrenFirst?

DieTabIndex05g2.jpg
DieTabIndex05g2.jpg

LoadStateではまだ、サイコロタイルが作られていない!

もしかして、
imageタイルでなくボタンにすればカーソルが簡単に取得できる?


よく似たアプリを探して、実装を見た方がはやい?
でも、どれが似たアプリだ?
一枚モノのアプリのサンプルはどれだ?
SDKのサンプルでも、キーボードだけで動作可能を学ぶためのがある?
⇒あればいいのだが・・・・


むりやり、ListViewで囲んでSelectedにできるのでは?


だったら、GridView化するのも同じ程度の難しさとなる?

DieTabIndex05h.jpg
DieTabIndex05h.jpg

このVS2012の既定のスプリットのテンプレートから作成したアプリはトップページで

・TABでは移動できない。
・←→キーのみで移動できる。

やっぱり、GridView や ListView を使い、TabIndexを使うべきなのでは?


Window 8 ストアアプリでは、TabIndex?TabIndexが残ったのはGridViewやListViewのみで、他のコントロール間の移動ではTabIndexが使えなくなった?
⇒じゃ、何を使っているんだ?

でも、1枚もので、SDKでキーだけ操作して確認してみる。


昨日利用した、GettingStarted_CSTutorialsで確認してみる。

DieTabIndex05i.jpg
DieTabIndex05i.jpg

TextBlockでなく、
TextBoxだから、フォーカスが、トップ画面を開いた時に自動で取れている?
⇒しかし、TextBox化するわけにもいかないし・・・・

DieTabIndex05j.jpg
DieTabIndex05j.jpg

GridView化は簡単でした。

TABでサイコロにフォーカスが移動できました。
←→はなくてもいいと思っているのですが、
両方で移動する必要がある?


でも、VS2012のグループ
からグループリストへはTABで移動し、グループリスト内のアイテム間での移動は→だった。このルールに違反する?しない?


でも、また、多くのテストをしなければならなくなった?


DieTabIndex05j1.jpg
DieTabIndex05j1.jpg

おかしな部分が2点
(1)トップ画面のサイコロがsnap表示となっている?一旦戻ると正しい大きさになる。

(2)トップ画面でTABキーを押すとフォーカスを取れるが、触るとListViewのスライドバー?が表示される。これは消すべきだ!
DieTabIndex05j2.jpg
DieTabIndex05j2.jpg

おお、また発見した。

(3)↑↓キーで上下できた。
できたら困る?


(4)タップしないと動作しない。
エンターキーでは起動できない。

(5)↑↓キーを使わせるとアイコンを選択状態のアイコンでかぶせて表示してしまう。
DieTabIndex05j3.jpg
DieTabIndex05j3.jpg

おお、Clickイベントがない?
⇒(4)が解決できない?


ImageをやめてButtonコントロールにしたほうがいい?


そしたら、GrieViewをやめて、Gridにもどせて、他のおかしなところもなくなる?

DieTabIndex05k.jpg
DieTabIndex05k.jpg

imageコントロールを
buttonコントローにすると
上掲のおかしなところはなくなった((1)を除く?)が、また、新たのおかしな部分を発見。

(New 1)snapでエンターが効かない。
(New 2)マウスオーバーすると画像が消える。
(New 3)白い線がでる。
(New 4) エンター時白色化する。
(New 5) 白線がなくなったら、
背景と同化してしまい。
四角さがなくなってしまう。
⇒アイコン画像が丸形で背景が透明なのがいけない?

Which color is WinRT apps design? google
⇒なかなか見つからない。
⇒簡単に言ってしまうと、これらの色を使えば審査通過しますと。

タイルはこれらの8色、色コードはこれ。

背景はこれらの16色、色コードはこれ。

これがわかりやすく、よけいなこと考えなくてすむので、デビューカラーセットをぱっとわかるようなサイトがない?


どこだ、どこだ!どこにある!



App tiles and badges sample
http://code.msdn.microsoft.com/windowsapps/app-tiles-and-...
App tiles and badges sample.zip

DieSnapCompare01.jpg
DieSnapCompare01.jpg

どのサイズが正しいサイズだ?

サイズはいくつだ?

DieSnapCompare02.jpg
DieSnapCompare02.jpg

60より大きい?
ならいくつだ?

DiceW8AEL2nd01.jpg
DiceW8AEL2nd01.jpg

DiceW8AEL2nd02.jpg
DiceW8AEL2nd02.jpg

アンニョン。カッケ。

いいことありますように!

-----------2012/10/21 am 8:09 add ---------------------
http://zigsow.jp/portal/own_item_detail/216966/


http://zigsow.jp/portal/own_item_detail/218873/


http://zigsow.jp/portal/own_item_detail/217279/


http://zigsow.jp/portal/own_item_detail/214130/



---------------- 2012/12/27 am 10:46 add ----------------------

facebook で dice can snap 紹介!


あんにょん
いいことあるわよ!
  • 購入金額

    0円

  • 購入日

    2012年09月23日

  • 購入場所

4人がこのレビューをCOOLしました!

コメント (3)

ZIGSOWにログインするとコメントやこのアイテムを持っているユーザー全員に質問できます。

YouTube の動画を挿入

YouTube の URL または動画の ID を入力してください

動画の ID が取得できません。ID もしくは URL を正しく入力してください。

ニコニコ動画の動画を挿入

ニコニコ動画の URL または動画の ID を入力してください

動画の ID が取得できません。ID もしくは URL を正しく入力してください。

ZIGSOWリンク挿入

検索対象とキーワードを入力してください

    外部リンクを挿入

    リンク先の URL とタイトルを入力してください

    URL を正しく入力してください。

    画像を挿入(最大サイズ20MB)

    画像を選択してください

    ファイルサイズが20MBを超えています

    別の画像を追加

    ZIGSOW にログイン

    ZIGSOW会員登録(無料)はこちらから