Windows8(C#) ストアアプリ : ListBox テンプレート
|
|
日時: 2013/05/19 19:53
名前: lightbox
|
MainPage.xaml
拡張子:
<Page
x:Class="LBOX_ListBox.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:LBOX_ListBox"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DataContext="{d:DesignData ListMainDesignData.xaml}"
Loaded="Page_Loaded">
<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>
<!--画面定義-->
<Grid
x:Name="MainGrid"
Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
<Border
BorderBrush="#FF999999"
BorderThickness="3"
HorizontalAlignment="Left"
Height="422"
Margin="76,126,0,0"
VerticalAlignment="Top"
Width="574"
Background="#FF323232" CornerRadius="20">
<!-- メインリストボックス -->
<ListBox
x:Name="ListMenu"
HorizontalAlignment="Left"
Height="324"
Margin="57,43,0,0"
VerticalAlignment="Top"
Width="462"
ItemsSource="{Binding Items}"
ItemTemplate="{StaticResource ListBox2Item}"
Tapped="ListMenu_Tapped" />
</Border>
<Border
BorderBrush="#FF999999"
BorderThickness="3"
HorizontalAlignment="Left"
Height="546"
Margin="682,126,0,0"
VerticalAlignment="Top"
Width="526"
Background="#FF323232"
CornerRadius="20"
Grid.Row="1"
Grid.Column="1">
<!-- サブリストボックス -->
<ListBox
x:Name="ListMenu_Child"
HorizontalAlignment="Left"
Height="448"
Margin="57,43,0,0"
VerticalAlignment="Top"
Width="410"
ItemsSource="{Binding Items}"
ItemTemplate="{StaticResource ListBox2Item}" />
</Border>
<TextBlock
DataContext="{StaticResource GlobalText}"
HorizontalAlignment="Left"
Height="61"
Margin="76,60,0,0"
TextWrapping="Wrap"
Text="{Binding PageTitle}"
VerticalAlignment="Top"
Width="1090"
FontSize="40"
FontWeight="Bold"
FontFamily="Meiryo">
</TextBlock>
<TextBox
x:Name="UpdateField"
HorizontalAlignment="Left"
Margin="140,582,0,0"
TextWrapping="Wrap"
VerticalAlignment="Top"
Width="460"
Height="90"
AcceptsReturn="True"
FontSize="26" />
</Grid>
<!--AppBar の定義-->
<Page.BottomAppBar>
<AppBar>
<Grid
x:Name="AppBarGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<StackPanel
x:Name="LeftBar"
Orientation="Horizontal"
HorizontalAlignment="Left">
<!--StandardStyles に定義されたスタイルをそのまま適用する-->
<!--設定ボタン-->
<Button
x:Name="SettingButton"
AutomationProperties.Name="設定"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Style="{StaticResource SettingsAppBarButtonStyle}"
Click="SettingButton_Click" />
<!--お気に入りボタン-->
<Button
x:Name="FavoriteButton"
AutomationProperties.Name="お気に入り"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Style="{StaticResource FavoriteAppBarButtonStyle}"
Click="FavoriteButton_Click" />
</StackPanel>
<StackPanel
x:Name="RightBar"
Grid.Column="1"
HorizontalAlignment="Right"
Orientation="Horizontal">
<!-- 保存ボタンを定義時に、表示文字列を変更する-->
<Button
x:Name="SaveButton"
AutomationProperties.Name="保存"
Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Style="{StaticResource SaveAppBarButtonStyle}"
Click="SaveButton_Click" />
<!--メールボタン-->
<Button
x:Name="MailButton"
AutomationProperties.Name="メール"
Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Style="{StaticResource MailAppBarButtonStyle}"
Click="MailButton_Click" />
</StackPanel>
</Grid>
</AppBar>
</Page.BottomAppBar>
</Page>
|
|
MainPage.xaml.cs ( No.1 ) |
|
日時: 2013/05/19 19:40
名前: lightbox
|
日時: 2013/05/19 19:40 名前: lightbox
拡張子:
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using Windows.ApplicationModel;
using Windows.ApplicationModel.Activation;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.Storage;
using Windows.UI.Popups;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Automation;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;
//名前空間
namespace LBOX_ListBox
{
//クラス
public sealed partial class MainPage : Page
{
// ファイルが存在するかどうかを示すフラグ
private bool bExist = false;
// *************************************************
//コンストラクタ
// *************************************************
public MainPage()
{
this.InitializeComponent();
Debug.WriteLine("MainPage のコンストラクタが実行されました");
App.mainPage = this;
// メインリストボックスにバインド用のメインクラスを設定
App.listMain = new ListMain();
this.ListMenu.DataContext = App.listMain;
// メインリストボックスのデータを追加
App.listMain.Items.Add(new ListItem2() { id = "Windows Store", name = "Windows8 C# 用テンプレート" });
App.listMain.Items.Add(new ListItem2() { id = "Windows Phone", name = "Windows Phone C# 用テンプレート" });
App.listMain.Items.Add(new ListItem2() { id = "Android", name = "ADT 用 テンプレート" });
// サブリストボックスにバインド用のメインクラスを設定
App.listChild = new ListMain();
this.ListMenu_Child.DataContext = App.listChild;
}
// *************************************************
// ページのロード
// *************************************************
private async void Page_Loaded(object sender, RoutedEventArgs e)
{
Debug.WriteLine("ページがロードされました");
Package package = Package.Current;
StorageFolder storageFolder = package.InstalledLocation;
String output = String.Format("Installed Location: {0}", storageFolder.Path);
Debug.WriteLine(output);
// 対象フォルダ( マニフェストで使用宣言が必要 )
// ※ 対象ファイルの存在チェック
// StorageFolder storageFolder = KnownFolders.DocumentsLibrary;
bExist = false;
try
{
StorageFile strageFile = await storageFolder.GetFileAsync("Windows Store.txt");
bExist = true;
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
}
if (bExist)
{
Debug.WriteLine("Windows Store.txt は存在します");
}
else
{
Debug.WriteLine("Windows Store.txt は存在しません");
}
}
// *************************************************
// このページがフレームに表示されるときに呼び出されます。
// *************************************************
protected override void OnNavigatedTo(NavigationEventArgs e)
{
Debug.WriteLine("ページがフレームに表示されました");
// Navigate が実行された時のパラメータを表示しています
var mp = (App.MyParam)e.Parameter;
Debug.WriteLine("Title : " + mp.title);
Debug.WriteLine("Type : " + mp.type);
}
// *************************************************
//設定ボタン
// *************************************************
private void SettingButton_Click(object sender, RoutedEventArgs e)
{
// 選択されているインデックス
int idx = this.ListMenu.SelectedIndex;
App.listMain.Items[idx].name = this.UpdateField.Text;
//App.listMain.Items[idx].NotifyPropertyChanged("name");
}
// *************************************************
//削除ボタン
// *************************************************
private void DeleteButton_Click(object sender, RoutedEventArgs e)
{
}
// *************************************************
//お気に入りボタン
// *************************************************
private void FavoriteButton_Click(object sender, RoutedEventArgs e)
{
}
// *************************************************
//保存ボタン
// *************************************************
private void SaveButton_Click(object sender, RoutedEventArgs e)
{
}
// *************************************************
//メールボタン
// *************************************************
private void MailButton_Click(object sender, RoutedEventArgs e)
{
}
}
}
|
MainPagePartial.cs ( No.2 ) |
日時: 2013/05/19 19:41 名前: lightbox
|
App.xaml.cs ( No.3 ) |
日時: 2013/05/19 19:43 名前: lightbox
|
|
|
|