Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何选择分组GridView的所有项_C#_Wpf_Gridview_Windows 8_Winrt Xaml - Fatal编程技术网

C# 如何选择分组GridView的所有项

C# 如何选择分组GridView的所有项,c#,wpf,gridview,windows-8,winrt-xaml,C#,Wpf,Gridview,Windows 8,Winrt Xaml,对于WinRT应用程序,我有一个GridView,其中项目被分组,以便每个组包含一个标题和他的组元素 我希望在应用程序栏中有一个按钮,将gridView中的所有项目传递到选定状态(带有紫色边框和复选框,就像我右键单击某个项目时一样) 我尝试将每个项目添加到GridView的SelectedItems列表中,但它没有任何作用 private void FavoriButton_Click_1(object sender, RoutedEventArgs e) {

对于WinRT应用程序,我有一个GridView,其中项目被分组,以便每个组包含一个标题和他的组元素

我希望在应用程序栏中有一个按钮,将gridView中的所有项目传递到选定状态(带有紫色边框和复选框,就像我右键单击某个项目时一样)

我尝试将每个项目添加到GridView的SelectedItems列表中,但它没有任何作用

    private void FavoriButton_Click_1(object sender, RoutedEventArgs e)
     {
              foreach (Categorie cat in coll)
                  itemGridView.SelectedItems.Add(cat);

     }
有人知道如何将网格视图中的所有项目置于selectedState(带有紫色边框和复选框)吗

这是密码

 public sealed partial class HomePage : LayoutAwarePage
  {
    ObservableCollection<Categorie> coll = new ObservableCollection<Categorie>();

  public HomePage()
    {

        this.InitializeComponent();

        cvs1.Source = coll;

        (itemGridView as ListViewBase).ItemsSource = this.cvs1.View.CollectionGroups;

    }

     async private void FillPage()
     {


             var categories = App.api.Categories_Get();

             if (categories == null || categories.Count == 0)
                 return;


             for (var i = 0; i < categories.Count; i++)                    
                 coll.Insert(i, categories[i]); 


     }

      private void FavoriButton_Click_1(object sender, RoutedEventArgs e)
     {
              foreach (Categorie cat in coll)
              {
                  itemGridView.SelectedItems.Add(cat);
              }
     }
public sealed部分类主页:LayoutAwarePage
{
ObservableCollection coll=新的ObservableCollection();
公共网页()
{
this.InitializeComponent();
cvs1.Source=coll;
(itemGridView作为ListViewBase)。ItemsSource=this.cvs1.View.CollectionGroups;
}
异步私有void FillPage()
{
var categories=App.api.categories_Get();
if(categories==null | | categories.Count==0)
返回;
对于(var i=0;i
沙姆酒店

<common:LayoutAwarePage
x:Class="NMA.Pages.HomePage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:NMA"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:common="using:NMA.Common"
mc:Ignorable="d">

<common:LayoutAwarePage.Resources>

<CollectionViewSource x:Name="cvs1" ItemsPath="listArt" IsSourceGrouped="True"  />

<DataTemplate x:Key="Standard250x250ItemTemplatePerso">
        <Grid HorizontalAlignment="Left" Width="270" Height="210" VariableSizedWrapGrid.ColumnSpan="1" VariableSizedWrapGrid.RowSpan="1" local:Tilt.IsTiltEnabled="False" >

            <Image Width="270" Height="210" Source="{Binding ImgArt}"   CacheMode="BitmapCache" VerticalAlignment="Top"/>

        </Grid>
    </DataTemplate>


</common:LayoutAwarePage.Resources>
<Grid  Background="Transparent" x:Name="MyGrid">
    <Grid x:Name="NormalGrid">
        <Grid.RowDefinitions>
        <RowDefinition Height="60"/>
        <RowDefinition Height="*"/>
        </Grid.RowDefinitions>

 <local:VariableGridView
        x:Name="itemGridView"
        AutomationProperties.AutomationId="ItemGridView"
        AutomationProperties.Name="Items"
        Grid.RowSpan="2"
        Padding="120,130,120,74"          
        ItemsSource="{Binding Source={StaticResource cvs1}}"
        ItemTemplate="{StaticResource Standard250x250ItemTemplatePerso}"
        IsSwipeEnabled="False"
        IsItemClickEnabled="True"
         Background="Transparent"
                ScrollViewer.HorizontalScrollBarVisibility="Disabled"  ScrollViewer.HorizontalScrollMode="Disabled" SelectionMode="Multiple">



                    <local:VariableGridView.ItemsPanel >
                        <ItemsPanelTemplate>
                            <VirtualizingStackPanel Orientation="Horizontal" Background="Transparent" local:Tilt.IsTiltEnabled="False" Margin="0,0,100,0" />
                        </ItemsPanelTemplate>
                    </local:VariableGridView.ItemsPanel>
                    <local:VariableGridView.GroupStyle>
                        <GroupStyle >
                            <GroupStyle.HeaderTemplate>
                                <DataTemplate x:Name="MyDataTemplate">
                                    <Button x:Name="HeaderButton" AutomationProperties.Name="MyHeaderButton" Click="HeaderButton_Click_1"  Style="{StaticResource ButtonHeader_Style}" Content="{Binding NomCat}" FontSize="26" FontFamily="{StaticResource SegoeWPLight}" Margin="-24,0,0,20" Width="900" Background="Transparent">
                                    </Button>
                                </DataTemplate>
                            </GroupStyle.HeaderTemplate>
                            <GroupStyle.Panel>


                                <ItemsPanelTemplate>
                                    <VariableSizedWrapGrid ItemWidth="270"  ItemHeight="210"   Orientation="Vertical" Margin="0,0,-30,0" MaximumRowsOrColumns="4" Background="Transparent" Width="900">
                                </ItemsPanelTemplate>
                            </GroupStyle.Panel>
                        </GroupStyle>
                    </local:VariableGridView.GroupStyle>
                </local:VariableGridView>
    </Grid>
</common:LayoutAwarePage>


非常感谢

我真的找到了它,我正在努力浏览可视化树,而ItemContainerGenerator很简单

private void FavoriButton_Click_1(object sender, RoutedEventArgs e)
     {    
         for( var i = 0 ; i<itemGridView.Items.Count ; i++)
         {
             (itemGridView.ItemContainerGenerator.ContainerFromIndex(i) as GridViewItem).IsSelected = true;
         }
     }
private void favoritibutton\u Click\u 1(对象发送方,路由目标)
{    
对于(var i=0;i