SQLの窓

2013年05月19日


Win8 ストア : リストボックス テンプレート

SkyDrive へ移動

ダウンロードしたテンプレートは、『C:\Users\ユーザー名\Documents\Visual Studio 2012\Templates\ProjectTemplates\Visual C#\Windows Store』に保存します。

Windows Store フォルダは最初は存在しないので作成します( 好きな名前のフォルダでも Visual Studio から利用できます )
左側のリストボックスをタップ(クリック)すると、右側のリストボックスが変化します。バインド元のデータを更新してリストボックスの表示に反映させる為に、アプリケーションバーの『設定』を実行します。 ソースコード表示 仕様 ❶ Page.Resources で XAML 内で利用する文字列とListBox 用の DataTemplate を定義 ❷ テキストエリアを設置( リストボックス内の内容を入力して更新 ) ❸ AppBar を XAML で定義 (ボタンを左側2つ、右側2つ定義) ❹ それぞれのボタンにイベントを定義 ❺ ListBox のデータバインド用に ListMain、ListItem、ListItem2 クラスListBox のタップイベントを別のソースコードに定義( partial ) ❼ TextResource.cs に、StaticResource 用のクラスを定義 ❽ デザイン時の表示用に ListMainDesignData.xaml を用意 プロジェクト用固定文字列と ListBox 用テンプレート
<Page.Resources>
	<local:TextResource
		x:Key="GlobalText"
		PageTitle="ListBox テンプレート"
		AppName="lightbox サンプルアプリケーション" />

	<!-- ListBox 用ビジュアル定義 -->
	<DataTemplate
		x:Key="ListBox2Item">
		<StackPanel
			Margin="0,0,0,4"
			Width="432"
			Height="45">
			<TextBlock
				Text="{Binding id}"
				TextWrapping="Wrap" />
			<TextBlock
				Text="{Binding name}"
				TextWrapping="Wrap"
				Margin="12,-6,12,0"
				FontSize="24" />
		</StackPanel>
	</DataTemplate>

</Page.Resources>

ListBox(繰り返しコントロール) 特有のもの

DataTemplate
リストボックスの表示部分の XAML 定義を DataTemplate として定義しておいて、ListBox 側の属性定義で実装しています( ItemTemplate="{StaticResource ListBox2Item}" )

DataContext
データバインドの大元となる ListMain クラスは、MainPage クラスでインスタンスを作成して、ListBox の DataContext に設定しています。XAML 側では、『ItemsSource="{Binding Items}"』でバインドされますが、実際の明細データは、Items の中に入る ListItem2 クラスが使用されます。

デザイン時のデータ定義
デザイン時に、ListBox の表示が可能なように、XAML 定義でデータ用のクラスを定義して、MainPage の XAML で設定しています。『d:DataContext="{d:DesignData ListMainDesignData.xaml}"
【Win8 ストアアプリの最新記事】
posted by lightbox at 2013-05-19 20:16 | Win8 ストアアプリ | このブログの読者になる | 更新情報をチェックする
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり