में विभिन्न आइटम आकार मैंने एक आइटम टेम्पलेट और हेडर टेम्पलेट के साथ समूहबद्ध ग्रिड व्यू बनाया। यह अच्छी तरह से काम करता है लेकिन फिर मैं अपनी सूची का पहला लेख एक अलग टेम्पलेट (बड़ा होना) चाहता हूं। उदाहरण के लिए फ्रेंच एप्लिकेशन "LeMonde" की तरह। मुझे नहीं पता कि मैं इसे प्राप्त करने के लिए टेम्पलेट को कैसे परिभाषित कर सकता हूं।समूहबद्ध ग्रिड व्यू
यहाँ मेरे वर्तमान XAML कोड
<Page.Resources>
<CollectionViewSource x:Name="cvs1" IsSourceGrouped="True" />
</Page.Resources>
<Grid Background="White">
<GridView x:Name="PicturesGridView" SelectionMode="None"
ItemsSource="{Binding Source={StaticResource cvs1}}"IsItemClickEnabled="True" ItemClick="ItemView_ItemClick">
<GridView.ItemTemplate>
<DataTemplate>
<StackPanel x:Name="RectanglesStackPanel" Margin="8" Orientation="Vertical" Width="242">
<Image Source="{Binding imageUrl}" Height="180" Width="225" Stretch="UniformToFill" />
<Border Background="Gray" Opacity="1" Width="225" Height="115">
<TextBlock Text="{Binding title}"
Foreground="White" TextWrapping="Wrap" Width="215" FontSize="18" />
</Border>
</StackPanel>
</DataTemplate>
</GridView.ItemTemplate>
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</GridView.ItemsPanel>
<GridView.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<Button Click="Button_Click_1" Content="{Binding Key}" Foreground="Black" Background="White" FontSize="30" Margin="0,0,0,-10" ></Button>
</DataTemplate>
</GroupStyle.HeaderTemplate>
<GroupStyle.Panel>
<ItemsPanelTemplate>
<VariableSizedWrapGrid Orientation="Vertical" />
</ItemsPanelTemplate>
</GroupStyle.Panel>
</GroupStyle>
</GridView.GroupStyle>
</GridView>
</Grid>
है मैं सिर्फ इस तरह सी # में आइटम की सूची को बाँध:
this.cvs1.Source = ListOfArticle;
अग्रिम :)
धन्यवाद धन्यवाद आप इवान इससे मुझे बहुत सहायता प्राप्त हुई। हालांकि उदाहरण में प्रदान किया गया कोड विंडोज 8 के लिए अद्यतित नहीं लगता है। क्या आपके पास कोई विचार है कि हम किसी पृष्ठ के संसाधनों में परिभाषित टेम्पलेट तक कैसे पहुंच सकते हैं। FindRessources विधि अब मौजूद नहीं है। मैं बजाय इस कोड के साथ करने की कोशिश की, लेकिन यह सफल नहीं था:
public class AuctionItemDataTemplateSelector : DataTemplateSelector
{
protected override DataTemplate SelectTemplateCore(object item,
DependencyObject container)
{
FrameworkElement element = container as FrameworkElement;
if (element != null && item != null && item is Article)
{
Article auctionItem = item as Article;
DataTemplate mySmallTemplate = element.FindName("SmallTemplate") as DataTemplate;
switch (auctionItem.isFirstItem)
{
case true:
return
element.FindName("BigTemplate") as DataTemplate;
case false:
return
element.FindName("SmallTemplate") as DataTemplate;
}
}
return null;
}
}
'
आपको अपने शीर्षक में "विंडोज 8" जैसी चीज़ों को नहीं रखना चाहिए। यही टैग है। – mydogisbox
हां: http://blog.jerrynixon.com/2012/08/windows-8-beauty-tip-using.html –