Windows Phone 8、C#/XAML 用の VS2012 でアプリケーションを作成しています。ここで、アプリがインストールされ、ユーザーがアプリを初めて開いたときにのみ実行されるページを作成したいと考えています。それ以降はありません。
親切に助けてください、ありがとう
Windows Phone 8、C#/XAML 用の VS2012 でアプリケーションを作成しています。ここで、アプリがインストールされ、ユーザーがアプリを初めて開いたときにのみ実行されるページを作成したいと考えています。それ以降はありません。
親切に助けてください、ありがとう
XML ファイルを使用して、ページが既に表示されているかどうかを示す値を書き込むことができます。したがって、このページのコンストラクター (より適切には OnLoad イベント) で、値を XML ファイルに書き込んで、既に表示されていると言うことができます。次に、起動ロジックでこのファイルを読み取ることができ、その値が既に設定されている場合は、別のページにスキップできます。
XML ファイル
<StartupValues>
<HasFirstTimePageDisplayed>True</HasFirstTimePageDisplayed>
</StartupValues>
一度だけ見せたいページ
Xaml
<Page Loaded="OnLoaded" ... />
Xaml.Cs
public void OnLoaded( object sender, RoutedEventArgs args )
{
var xml = new XmlSerializer( typeof( StartupValues ) );
using( var writer = new StreamWriter( "config_file_path_here.xml" ) )
{
xml.Serialize( new StartupValues
{
HasFirstTimePageDisplayed = true
}, writer.BaseStream );
}
}
App.xaml.cs
public void OnStartup( ... ) // I forget what the method signature for this is
{
bool displayFirstPage = true;
var xml = new XmlSerializer( typeof( StartupValues ) );
using( var reader= new StreamReader( "config_file_path_here.xml" ) )
{
StartupValues values = xml.Deserialize( reader.BaseStream ) as StartupValues;
displayFirstPage = values.HasFirstTimePageDisplayed;
}
if( displayFirstPage )
{
// display the page
}
else
{
// display a different page
}
}
StartupObject.cs
public class StartupValues
{
public bool HasFirstTimePageDisplayed { get; set; }
}
あなたの問題に関連するいくつかの読み物:
StreamReaderクラス
WP8 デベロッパー センター(リソースに最適な場所)