<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>Comment Feed for Channel 9 - Controles avan&#231;ados (GridView, ListView e FlipView)</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/posts/Controles-Avancados-GridView-ListView-FlipView/rss"></atom:link>
	<image>
		<url>http://files.channel9.msdn.com/thumbnail/c6c2052f-8dde-4d9b-bcfe-3182c9bfeaa2.png</url>
		<title>Channel 9 - Controles avan&#231;ados (GridView, ListView e FlipView)</title>
		<link></link>
	</image>
	<description>Por Vin&#237;cius Souza Microsoft Technical Evangelist Fabebook: http://aka.ms/facevisouza Blog: http://aka.ms/visouza Twitter: @vbs_br &amp;nbsp; Os controles GridView, ListView e FlipView n&#227;o s&#227;o f&#225;ceis de entender logo no primeiro contato, e essa dificuldade est&#225; relacionada ao comportamento diferente dos outros controles do tipo ItemsControl. Espero com esse artigo, ajudar voc&#234; a entender e customizar estes controles. A classe ItemsControl &#233; a classe pai para uma s&#233;rie de controles que exibem cole&#231;&#245;es de itens. Neste grupo voc&#234; encontrar&#225; o ListBox e ComboBox, assim como os novos controles Windows GridView, FlipView e ListView. GridViewUtilizem o GridView para apresentar dados que rolam horizontalmente, se quiser que os dados rolem verticalmente utilizem o ListView abordado na pr&#243;xima se&#231;&#227;o. &amp;nbsp; Por padr&#227;o, o item de dados &#233; apresentado no GridView como uma representa&#231;&#227;o de um objeto String do objeto que est&#225; ligado. Para especificar exatamente como os items de um GridView ser&#227;o apresentados &#233; necess&#225;rio criar um DataTemplate para definir quais controles de layout ser&#227;o utilizados para apresentar um item. Os controles no layout podem ser ligados (utilizando o binding)&amp;nbsp; para as propriedades de um objeto, ou ainda ter seu conte&#250;do definido diretamente no c&#243;digo. Voc&#234; atribui o DataTemplate para a propriedade ItemTemplate do GridView. Um usu&#225;rio pode selecionar um &#250;nico item de um GridView, por padr&#227;o. Para alterar este comportamente alteramos o valor da propriedade SelectionMode para um dos poss&#237;veis valores da enumera&#231;&#227;o ListViewSelectionMode, permitindo assim, multipla sele&#231;&#227;o ou ainda desabilitar a sele&#231;&#227;o. O GridView ainda permite que seus itens comportam-se como bot&#245;es, ao invez de ser selecionados. A tabela a seguir apresenta os poss&#237;veis comportamentos de um GridView e como responder a cada itera&#231;&#227;o: Para habilitar o comportamento Utilize esta configura&#231;&#227;o Manipule o evento Utilize esta propriedade para recuperar o item selecionado Sem intera&#231;&#227;o SelectionMode = None IsItemClickEnabled = False -- -- Sele&#231;&#227;o simples SelectionMode = Single IsItemCliclEnabled = True SelectionChanged SelectedItem SelectedIndex Sele&#231;&#227;o multipla cont&#237;nua SelectionMode = Multiple, IsItemClickEnabled = False SelectionChanged SelectedItems Sele&#231;&#227;o multipla n&#227;o cont&#237;nua SelectionMode = none IsItemClickEnabled = true ItemClick -- &amp;nbsp; O GridView suporta virtualiza&#231;&#227;o dos dados para melhorar a performance quando estiver utilizando grande quantidades de dados. Virtualiza&#231;&#227;o de acesso aleat&#243;rio &#233; suportado quando a fonte de dados implementar a interface IObservableVector ou INotifyCollectionChanged. Virtualiza&#231;&#227;o de carga incremental &#233; suportado quando a fonte de dados implementar a interface ISupportIncrementalLoading, neste caso voc&#234; pode utilizar os membros para controlar o carregamento: DataFetchSize, IncrementalLoadingThreshold, IncrementalLoadingTrigger, LoadMoreItemsAsync. GridView implementa a interface ISemanticZoomInformation, o que possibilita sua utiliza&#231;&#227;o como uma vis&#227;o do controle SemanticZoom. Quando utilizado em um controle SemanticZoom, sempre atualize a propriedade ScrollViewer.IsHorizontalScrollChainingEnabled para false, desta forma&amp;nbsp; &amp;lt;GridView ScrollViewer.IsHorizontalScrollChainingEnabled=&amp;quot;False&amp;quot;&amp;gt;. Os seguintes membros tem efeito somente quando utilizado em um GridView dentro de um SemanticZoom: &amp;nbsp;IsActiveView, IsZoomedInView, SemanticZoomOwner, CompleteViewChange, CompleteViewChangeFrom, CompleteViewChangeTo, InitializeViewChange, MakeVisible, StartViewChangeFrom, StartViewChangeTo. No trecho de c&#243;digo abaixo, o GridView est&#225; vinculado a uma cole&#231;&#227;o agrupada CollectionViewSource chamada cvsProjects. A apar&#234;ncia dos itens individuais de cada grupo &#233; definida por um ItemTemplate. Os ItemsPanel especifica como o grupo ser&#225; organizado na GridView. O GroupStyle.Panel especifica como itens individuais ser&#227;o organizados em cada grupo. &amp;lt;GridView ItemsSource=&amp;quot;{Binding Source={StaticResource cvsProjects}}&amp;quot;

  Margin=&amp;quot;0,120,0,0&amp;quot; MaxHeight=&amp;quot;500&amp;quot; Grid.Column=&amp;quot;1&amp;quot;&amp;gt;

    &amp;lt;GridView.ItemTemplate&amp;gt;

        &amp;lt;DataTemplate&amp;gt;

            &amp;lt;StackPanel Margin=&amp;quot;20&amp;quot;&amp;gt;

                &amp;lt;TextBlock Text=&amp;quot;{Binding Name}&amp;quot; FontWeight=&amp;quot;Bold&amp;quot;

                           Style=&amp;quot;{StaticResource ItemTextStyle}&amp;quot;/&amp;gt;

                &amp;lt;TextBlock Text=&amp;quot;{Binding DueDate}&amp;quot; TextWrapping=&amp;quot;NoWrap&amp;quot;

                           Style=&amp;quot;{StaticResource BodyTextStyle}&amp;quot; /&amp;gt;

                &amp;lt;CheckBox Content=&amp;quot;Complete&amp;quot; IsChecked=&amp;quot;{Binding Complete}&amp;quot;

                          IsEnabled=&amp;quot;False&amp;quot;/&amp;gt;

            &amp;lt;/StackPanel&amp;gt;

        &amp;lt;/DataTemplate&amp;gt;

    &amp;lt;/GridView.ItemTemplate&amp;gt;

    &amp;lt;GridView.ItemsPanel&amp;gt;

        &amp;lt;ItemsPanelTemplate&amp;gt;

            &amp;lt;StackPanel Orientation=&amp;quot;Horizontal&amp;quot;/&amp;gt;

        &amp;lt;/ItemsPanelTemplate&amp;gt;

    &amp;lt;/GridView.ItemsPanel&amp;gt;



    &amp;lt;GridView.GroupStyle&amp;gt;

        &amp;lt;GroupStyle HidesIfEmpty=&amp;quot;True&amp;quot;&amp;gt;

            &amp;lt;GroupStyle.HeaderTemplate&amp;gt;

                &amp;lt;DataTemplate&amp;gt;

                    &amp;lt;Grid Background=&amp;quot;LightGray&amp;quot; Margin=&amp;quot;0&amp;quot;&amp;gt;

                        &amp;lt;TextBlock Text=&#39;{Binding Name}&#39;

                                   Foreground=&amp;quot;Black&amp;quot; Margin=&amp;quot;30&amp;quot;

                                   Style=&amp;quot;{StaticResource HeaderTextStyle}&amp;quot;/&amp;gt;

                    &amp;lt;/Grid&amp;gt;

                &amp;lt;/DataTemplate&amp;gt;

            &amp;lt;/GroupStyle.HeaderTemplate&amp;gt;



            &amp;lt;GroupStyle.ContainerStyle&amp;gt;

                &amp;lt;Style TargetType=&amp;quot;GroupItem&amp;quot;&amp;gt;

                    &amp;lt;Setter Property=&amp;quot;MinWidth&amp;quot; Value=&amp;quot;600&amp;quot;/&amp;gt;

                    &amp;lt;Setter Property=&amp;quot;BorderBrush&amp;quot; Value=&amp;quot;DarkGray&amp;quot;/&amp;gt;

                    &amp;lt;Setter Property=&amp;quot;BorderThickness&amp;quot; Value=&amp;quot;2&amp;quot;/&amp;gt;

                    &amp;lt;Setter Property=&amp;quot;Margin&amp;quot; Value=&amp;quot;3,0&amp;quot;/&amp;gt;

                &amp;lt;/Style&amp;gt;

            &amp;lt;/GroupStyle.ContainerStyle&amp;gt;



            &amp;lt;GroupStyle.Panel&amp;gt;

                &amp;lt;ItemsPanelTemplate&amp;gt;

                    &amp;lt;VariableSizedWrapGrid/&amp;gt;

                &amp;lt;/ItemsPanelTemplate&amp;gt;

            &amp;lt;/GroupStyle.Panel&amp;gt;

        &amp;lt;/GroupStyle&amp;gt;

    &amp;lt;/GridView.GroupStyle&amp;gt;

&amp;lt;/GridView&amp;gt;[ ListViewComo dito anteriormente o ListView &#233; utilizado para apresentar listas verticais, assim como o GridView o ListView &#233; um controle do tipo ItemsControls, assim ele pode conter uma cole&#231;&#227;o de itens de um tipo. Para popular a visualiza&#231;&#227;o, adicione itens para a cole&#231;&#227;o Items, ou atualize a propriedade ItemsSource com a origem de dados a serem utilizados. &amp;nbsp; O ListView &#233; geralmente utilizado para apresentar dados na vis&#227;o Snapped, um exemplo desta utiliza&#231;&#227;o pode ser encontrada no template de Grid fornecido no Visual Studio. Tirando o fato que um ListView apresenta os dados na vertical, n&#227;o h&#225; maiores diferen&#231;as com o GridView os controles fornecem as mesmas funcionalidades como carga incremental, acesso aleat&#243;rio e zoom sem&#226;ntico. &amp;lt;ListView x:Name=&amp;quot;itemListView&amp;quot;
          Margin=&amp;quot;120,0,0,60&amp;quot;
          ItemsSource=&amp;quot;{Binding Source={StaticResource itemsViewSource}}&amp;quot;
          SelectionChanged=&amp;quot;ItemListView_SelectionChanged&amp;quot;&amp;gt;
    &amp;lt;ListView.ItemTemplate&amp;gt;
        &amp;lt;DataTemplate&amp;gt;
            &amp;lt;Grid Height=&amp;quot;110&amp;quot; Margin=&amp;quot;6&amp;quot;&amp;gt;
                &amp;lt;Grid.ColumnDefinitions&amp;gt;
                    &amp;lt;ColumnDefinition Width=&amp;quot;Auto&amp;quot;/&amp;gt;
                    &amp;lt;ColumnDefinition Width=&amp;quot;*&amp;quot;/&amp;gt;
                &amp;lt;/Grid.ColumnDefinitions&amp;gt;
                &amp;lt;Border Background=&amp;quot;{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}&amp;quot; Width=&amp;quot;110&amp;quot; Height=&amp;quot;110&amp;quot;&amp;gt;
                    &amp;lt;Image Source=&amp;quot;{Binding Image}&amp;quot; Stretch=&amp;quot;UniformToFill&amp;quot;/&amp;gt;
                &amp;lt;/Border&amp;gt;
                &amp;lt;StackPanel Grid.Column=&amp;quot;1&amp;quot; VerticalAlignment=&amp;quot;Top&amp;quot; Margin=&amp;quot;10,0,0,0&amp;quot;&amp;gt;
                    &amp;lt;TextBlock Text=&amp;quot;{Binding Title}&amp;quot; Style=&amp;quot;{StaticResource TitleTextStyle}&amp;quot; TextWrapping=&amp;quot;NoWrap&amp;quot;/&amp;gt;
                    &amp;lt;TextBlock Text=&amp;quot;{Binding Subtitle}&amp;quot; Style=&amp;quot;{StaticResource CaptionTextStyle}&amp;quot; TextWrapping=&amp;quot;NoWrap&amp;quot;/&amp;gt;
                    &amp;lt;TextBlock Text=&amp;quot;{Binding Description}&amp;quot; Style=&amp;quot;{StaticResource BodyTextStyle}&amp;quot; MaxHeight=&amp;quot;60&amp;quot;/&amp;gt;
                &amp;lt;/StackPanel&amp;gt;
            &amp;lt;/Grid&amp;gt;
        &amp;lt;/DataTemplate&amp;gt;
    &amp;lt;/ListView.ItemTemplate&amp;gt;          
&amp;lt;/ListView&amp;gt; &amp;nbsp;FlipViewUtilizem o controle FlipView para apresentar um cole&#231;&#227;o de itens sequencialmente, uma por vez. Este controle &#233; muito utilizado para apresentar uma galeria de imagens, por exemplo. Galeria com o FlipView &amp;nbsp; O FlipView tamb&#233;m &#233; um controle do tipo ItemsControl, assim ele possui uma cole&#231;&#227;o de itens de qualquer tipo. Para popul&#225;-lo adicione itens para a cole&#231;&#227;o Items, ou atribua uma fonte de dados para a propriedade ItemsSource. O controle permite que seja utilizada todo o espa&#231;o dispon&#237;vel na tela para apresentar um item. Ele apresenta dois bot&#245;es, um na esquerda e outro na direita que permite o usu&#225;rio navegar entre os itens que ser&#227;o apresentados, se voc&#234; utilizar um dispositivo com suporte a touch as setas n&#227;o ser&#227;o apresentadas e voc&#234; pode realizar movimentos do tipo swipe horizontais para avan&#231;ar ou voltar. Por padr&#227;o, os dados de um FlipView &#233; apresentado como uma representa&#231;&#227;o de String de um objeto. Para especificar exatamente como os itens em um FlipView s&#227;o apresentados, &#233; necess&#225;rio criar um DataTemplate para definir os controles de layout utilizados para cada item. Os controles no layout podem ser vinculados&amp;nbsp; utilizando Binding para os dados de objetos. &amp;nbsp; &amp;lt;FlipView x:Name=&amp;quot;flipView1&amp;quot; Width=&amp;quot;480&amp;quot; Height=&amp;quot;270&amp;quot; 
              BorderBrush=&amp;quot;Black&amp;quot; BorderThickness=&amp;quot;1&amp;quot;&amp;gt;
            &amp;lt;FlipView.ItemTemplate&amp;gt;
                &amp;lt;DataTemplate&amp;gt;
                    &amp;lt;Grid&amp;gt;
                        &amp;lt;Image Width=&amp;quot;480&amp;quot; Height=&amp;quot;270&amp;quot; Source=&amp;quot;{Binding Image}&amp;quot; Stretch=&amp;quot;UniformToFill&amp;quot;/&amp;gt;
                        &amp;lt;Border Background=&amp;quot;#A5000000&amp;quot; Height=&amp;quot;80&amp;quot; VerticalAlignment=&amp;quot;Bottom&amp;quot;&amp;gt;
                            &amp;lt;TextBlock Text=&amp;quot;{Binding Name}&amp;quot; FontFamily=&amp;quot;Segoe UI&amp;quot; FontSize=&amp;quot;26.667&amp;quot; 
                                       Foreground=&amp;quot;#CCFFFFFF&amp;quot; Padding=&amp;quot;15,20&amp;quot;/&amp;gt;
                        &amp;lt;/Border&amp;gt;
                    &amp;lt;/Grid&amp;gt;
                &amp;lt;/DataTemplate&amp;gt;
            &amp;lt;/FlipView.ItemTemplate&amp;gt;
        &amp;lt;/FlipView&amp;gt; Conclus&#227;oO desafio de criar uma interface de usu&#225;rio completamente nova, baseada em toque para aplica&#231;&#245;es metro style, requer um conjunto completo de novos controles que simplificam a nossa vida. Por essa raz&#227;o, metro oferece alguns controles que implementam novos tipos de intera&#231;&#245;es. </description>
	<link></link>
	<language>en</language>
	<pubDate>Wed, 22 May 2013 02:27:53 GMT</pubDate>
	<lastBuildDate>Wed, 22 May 2013 02:27:53 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<item>
		<title>Re: Controles avan&#231;ados (GridView, ListView e FlipView)</title>
		<description>
			<![CDATA[<p><span>&quot;como botões, ao invez de ser selecionados.&quot;</span></p><p><span>&quot;ao invés&quot; seria a expressão correta.</span></p><p><span>Desculpa ser chato, mas eu gosto quando me corrigem em meus textos. É fácil e normal passar alguma coisa.</span></p><p>posted by brunojuliao7</p>]]>
		</description>
		<link>http://channel9.msdn.com/posts/Controles-Avancados-GridView-ListView-FlipView#c634798827828749838</link>
		<pubDate>Mon, 06 Aug 2012 20:46:22 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/posts/Controles-Avancados-GridView-ListView-FlipView#c634798827828749838</guid>
		<dc:creator>brunojuliao7</dc:creator>
	</item>
	<item>
		<title>Re: Controles avan&#231;ados (GridView, ListView e FlipView)</title>
		<description>
			<![CDATA[Tenho o Windows 7 e gostava de mudar para o windows 8 gratuitamente, uma vez que ja sou vosso c&#231;iente ha varios anos, seguramente 8 anos a passar.<br>   Sem outro assunto me despesso<br>  Julio Cunha Silva<p>posted by Julio Cunha Silva</p>]]>
		</description>
		<link>http://channel9.msdn.com/posts/Controles-Avancados-GridView-ListView-FlipView#c634799679746433706</link>
		<pubDate>Tue, 07 Aug 2012 20:26:14 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/posts/Controles-Avancados-GridView-ListView-FlipView#c634799679746433706</guid>
		<dc:creator>Julio Cunha Silva</dc:creator>
	</item>
	<item>
		<title>Re: Controles avan&#231;ados (GridView, ListView e FlipView)</title>
		<description>
			<![CDATA[<p>@<a href="/posts/Controles-Avancados-GridView-ListView-FlipView#c634798827828749838">brunojuliao7</a>:Legal vc corrigir o texto, mas acho que foi muito deselegante a forma como o fez. Deveria mandar um email para a pessoa que escreveu o artigo.&nbsp;</p><p>posted by MichaellDantas</p>]]>
		</description>
		<link>http://channel9.msdn.com/posts/Controles-Avancados-GridView-ListView-FlipView#c634863494045237075</link>
		<pubDate>Sat, 20 Oct 2012 17:03:24 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/posts/Controles-Avancados-GridView-ListView-FlipView#c634863494045237075</guid>
		<dc:creator>MichaellDantas</dc:creator>
	</item>
</channel>
</rss>