More Related Content
PDF
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~ PPTX
PPTX
PDF
PDF
Knockout.js を利用したインタラクティブ web アプリケーション開発 PDF
PDF
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発 PDF
プロダクトに 1 から Vue.js を導入した話 What's hot
PDF
KnockoutJS勉強会 プロジェクトにmvvmを適用する狙い PDF
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話 PDF
Nuxt なしで Vue App 作る時に乗り越えるべき5つの壁 PPTX
PPTX
PDF
Hokuriku.NET ASP.NET MVC入門 「実践」 20120825 PDF
コンポーネント指向による、Reactのベストプラクティスとバッドプラクティス PDF
Ma gician <wide version> @meguro.es 2019/10/10 PDF
From Swing to JavaFX - SwingからJavaFXへのマイグレーションガイド PPTX
PPTX
クライアントサイドMVVMアーキテクチャとVue.jsをまとめたよ PDF
はじめよう JavaFX 2.x(第3回 岡山Javaユーザー会) PPT
【17-C-2】 クラウド上でのエンタープライズアプリケーション開発 PDF
Brush up your Coding! 2013 winter PPTX
PPTX
PDF
PDF
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介 PDF
PDF
Similar to Windows ストアアプリのgrid viewを入門してみた
PPT
Windows ストアアプリを作ろう ~Metroスタイルアプリ入門~ (2012/09/29) PDF
第6回中心会議 XAMLで学ぶ レイアウトスキル 0923 PPTX
PDF
PDF
PDF
XAML&Application Platform ~これまでとこれから~ PDF
Xamarin.formsで作成する翻訳機能付きtwitterクライアント PDF
PDF
空のテンプレートから始めるWindows 8 ストアアプリ PDF
Net advantage 2012 volume2 最新情報 xaml プラットフォーム編 PPTX
PPTX
PDF
Windows Phone 8 アプリ開発 03.構築 PDF
XAMLで作るWindows ストアアプリ #CLRH89 PDF
Windows Phone 8 アプリ開発 02.デザイン PDF
PDF
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介 PDF
Windows ストア lob アプリ開発のためのガイダンスとフレームワークのご紹介 rev PDF
Tech Fielders 2009/9/18 LT PDF
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps More from 一希 大田
PDF
.NET 7 での ASP.NET Core Blazor の新機能ピックアップ PDF
PDF
Azure Static Web Apps を試してみた! PDF
Visual studio 2019 updates pickup! PPTX
.NET 5 and Windows app dev PDF
PDF
WPF on .NET Core 3.1 で Windows 10 アプリ開発 PDF
.NET Core 3.0 + Windows 10 で WPF 開発 PDF
PDF
Windows 10 対応のデスクトップアプリを作る技術(事前公開版v2) PDF
Xamarin.Forms アプリケーション 設計パターン PDF
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版) PPTX
PDF
Visual Studio 2019 の個人的なお勧め機能(発表時点) PDF
Visual Studio 2019 の個人的なお勧め機能 PDF
Windows 10 に対応した デスクトップ アプリを作る技術(事前公開版 v2) PDF
事前公開版 Windows 10 に対応したデスクトップ アプリを作る技術 v1 PDF
スマートスピーカーのバックエンドでAzure を使う方法 PPTX
Visual Studio App center 概要 PDF
はじめての HoloLens セッションの集大成お見せします! Windows ストアアプリのgrid viewを入門してみた
- 1.
- 2.
自己紹介
大田一希
– Microsoft MVP for ClientAppDev 2011/07-2013/06
– 富士通アドバンストエンジニアリング
– Twitter: @okazuki
– ブログ:かずきのBlog@hatena
http://d.hatena.ne.jp/okazuki
本書きました
– Windows 8 ストア アプリ開発入門
– Windows ストア アプリ開発のレシピ110(今日1冊持ってきてます!)
- 3.
お約束
掲載内容は私自身の見解であり、所属する組織を代表するもの
ではありません
- 4.
- 5.
もくじ
GridViewとは
GridViewの素性洗い
データの表示
グルーピング
まとめ
- 6.
GridViewとは
Windows ストア アプリで特徴的な横スクロール画面を実現す
るためのコントロール
Windows Developer Days「Metro スタイル UI の要素と注意点に関するセッション」東 賢,三田 裕貴
http://channel9.msdn.com/Events/Windows-Developer-Days/Windows-Developer-Days-2012/WA-003
- 7.
- 8.
- 9.
XAML(GridView部分のみ抜粋)
<GridView
x:Name="itemGridView"
…省略…
Padding="116,137,40,46“ ItemsSource="{Binding Source={StaticResource groupedItemsViewSource}}"
ItemTemplate="{StaticResource Standard250x250ItemTemplate}“ SelectionMode="None“ IsSwipeEnabled="false“ IsItemClickEnabled="True“ ItemClick="ItemView_ItemClick">
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</GridView.ItemsPanel>
<GridView.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<Grid Margin="1,0,0,6">
<Button
AutomationProperties.Name="Group Title"
Click="Header_Click"
Style="{StaticResource TextPrimaryButtonStyle}" >
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Title}" Margin="3,-7,10,10" Style="{StaticResource GroupHeaderTextStyle}" />
<TextBlock Text=“{StaticResource ChevronGlyph}” FontFamily="Segoe UI Symbol"
Margin="0,-7,0,10" Style="{StaticResource GroupHeaderTextStyle}"/>
</StackPanel>
</Button>
</Grid>
</DataTemplate>
</GroupStyle.HeaderTemplate>
<GroupStyle.Panel>
<ItemsPanelTemplate>
<VariableSizedWrapGrid Orientation="Vertical" Margin="0,0,80,0"/>
</ItemsPanelTemplate> とても長い・・・
</GroupStyle.Panel>
</GroupStyle>
</GridView.GroupStyle>
</GridView>
- 10.
- 11.
GridViewクラスの継承関係
継承関係を把握
クラス名 解説
Control コントロールの基本的な挙動
ItemsControl 複数項目を表示するコントロール
Selector 選択機能を追加
ListViewBase ListViewとGridViewの基本機能を定義
(セマンティックズーム対応もここで)
GridView 横スクロールするように要素を並べる
選択可能な要素を列挙するコントロール
– Is~系プロパティで細かな挙動をカスタマイズ
- 12.
- 13.
- 14.
ItemTemplateの適用
基本的に、データにItemTemplateを適用して見た目を作る
32
ItemTemplate
32
xxxxxxxxxxxxxxxxxx
- 15.
ItemTemplateの適用
例えば250x250のタイル状の見た目にする場合
(StandardStyles.xamlからコピペ)
<GridView x:Name="gridView" Grid.Row="1" Padding="120,0,0,10">
<GridView.ItemTemplate>
<DataTemplate>
<Grid HorizontalAlignment="Left" Width="250" Height="250">
<Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}" />
<StackPanel VerticalAlignment="Bottom"
Background="{StaticResource ListViewItemOverlayBackgroundThemeBrush}">
<TextBlock
Text="{Binding}“
Foreground="{StaticResource ListViewItemOverlayForegroundThemeBrush}“
Style="{StaticResource TitleTextStyle}“
Height="60" Margin="15,0,15,0"/>
</StackPanel>
</Grid>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
- 16.
- 17.
ここまでのまとめ
GridViewとは
– ItemsControlの流れをくむコントロール
– ItemsSourceプロパティにセットされたデータを表示する
– 縦並びで下までいくと折り返してコンテンツを表示
– 横スクロール
– ItemTemplateでコンテンツの表示をカスタマイズ
- 18.
- 19.
- 20.
CollectionViewSourceを使うには
ページのリソースにCollectionViewSourceを追加
<Page.Resources>
<CollectionViewSource x:Name="source" IsSourceGrouped="True" />
</Page.Resources>
GridViewのItemsSourceをCollectionViewSourceに設定
<GridView x:Name="gridView" Grid.Row="1" Padding="120,0,0,10“
ItemsSource="{Binding Source={StaticResource source}}">
CollectionViewSourceのSourceにデータを設定
// 1桁目の値でグルーピング
this.source.Source= Enumerable.Range(1, 500).GroupBy(i => i % 10);
- 21.
- 22.
グループの見た目をカスタマイズするGroupStyle
HeaderTemplateプロパティ
– グループごとのヘッダーの見た目を定義する
Panelプロパティ
– グループ内の要素を並べるためのパネルを設定する
HideIfEmptyプロパティ
– 空のグループを非表示にするかどうか設定する
- 23.
実際に適用してみる
<GridView.GroupStyle>
<GroupStyle HidesIfEmpty="True"> グループヘッダーに”下一桁が**”と
<GroupStyle.HeaderTemplate> 表示するようにテンプレートを定義
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="下一桁が" Style="{StaticResource SubheaderTextStyle}" />
<TextBlock Text="{Binding Key}" Style="{StaticResource SubheaderTextStyle}" />
</StackPanel>
</DataTemplate>
</GroupStyle.HeaderTemplate>
<GroupStyle.Panel>
<ItemsPanelTemplate>
<VariableSizedWrapGrid Margin="0,5,80,0" />
</ItemsPanelTemplate>
</GroupStyle.Panel> 縦並びで折り返し表示するように
</GroupStyle> VariableSizedWrapGridをPanelに指定。
</GridView.GroupStyle> グループの区切りで間があくように80pxの
余白を右側に指定。
- 24.
- 25.
ここまでのまとめ
グルーピングするには
– CollectionViewSourceをコントロールとデータの間に入れる
– GridViewのGroupStyleで見た目を整える
GroupByしたもの以外のデータもグループ表示可能
– CollectionViewSourceのItemsPathを参照
(宣伝:Windows 8 ストア アプリ 開発入門に書いてあります!)
- 26.
まとめ
GridViewはItemsControlの子孫
ItemsSourceにデータを設定してItemTemplateで見た目を整え
る
グルーピングなどの凝ったことをするときは
CollectionViewSourceを使う
グルーピングの見た目はGroupStyleを使う
GridViewを使いこなしてストア アプリらしいデータ表示
を!!
- 27.
おまけ
GridView/ListViewでのデータの遅延読み込み
– コードレシピ
Windows ストア アプリで遅延読み込み(ISuppportIncrementalLoading
編)
http://code.msdn.microsoft.com/Windows-ISuppportIncrementa-
bfc17780