Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.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
WPF DataGrid展开/折叠所有代码隐藏_Wpf_Vb.net_Xaml - Fatal编程技术网

WPF DataGrid展开/折叠所有代码隐藏

WPF DataGrid展开/折叠所有代码隐藏,wpf,vb.net,xaml,Wpf,Vb.net,Xaml,我已经寻找了好几天的解决方案,我不敢相信这有多困难。我在窗口中有一个数据网格。我想添加一个按钮,它将全部展开/折叠。我使用VB在我的代码背后,我没有找到任何工作 这是我的DG代码…不确定你是否需要看这个。当窗户打开时,所有的东西都折叠了。我希望用户可以选择展开一行,或者单击按钮展开所有内容 <DataGrid x:Name="dataGrid" FontSize="15" CanUserAddRows="false" Margin="10,106,10,10" ColumnWidth="

我已经寻找了好几天的解决方案,我不敢相信这有多困难。我在窗口中有一个数据网格。我想添加一个按钮,它将全部展开/折叠。我使用VB在我的代码背后,我没有找到任何工作

这是我的DG代码…不确定你是否需要看这个。当窗户打开时,所有的东西都折叠了。我希望用户可以选择展开一行,或者单击按钮展开所有内容

 <DataGrid x:Name="dataGrid" FontSize="15" CanUserAddRows="false" Margin="10,106,10,10" ColumnWidth="*" RowHeight="45" ItemsSource="{Binding Items, Mode=OneWay}" AutoGenerateColumns="False" IsReadOnly="True" AlternatingRowBackground="#FF6E6E6E" Foreground="Black" BorderBrush="#FF595A5B" Background="Transparent" HorizontalGridLinesBrush="Black"  VerticalGridLinesBrush="Black" CanUserReorderColumns="False" RowHeaderWidth="0"  >
        <DataGrid.RowStyle>
            <Style TargetType="DataGridRow">
                <Setter Property="Background" Value="#FF575757" />
                <Setter Property="Foreground" Value="White" />
                <Style.Triggers>
                    <!--<Trigger Property="IsMouseOver" Value="True">
                        <Setter Property="Background" Value="LightGray"/>
                        <Setter Property="Foreground" Value="White"/>
                    </Trigger>-->
                </Style.Triggers>
            </Style>
        </DataGrid.RowStyle>
        <DataGrid.Resources>
            <Style TargetType="{x:Type DataGridColumnHeader}">
                <Setter Property="Background" Value="#FF616161" />
                <Setter Property="Foreground" Value="White" />
                <Setter Property="FontSize" Value="14"/>
            </Style>
            <SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}" Color="DodgerBlue"/>
            <SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightTextBrushKey}" Color="White"/>
        </DataGrid.Resources>
        <DataGrid.Columns>
            <DataGridTextColumn Header="Press" Binding="{Binding press}"></DataGridTextColumn>
            <DataGridTextColumn Header="Order Number" Binding="{Binding orderNumber}"></DataGridTextColumn>
            <DataGridTextColumn Header="Order Type" Binding="{Binding orderType}"></DataGridTextColumn>
            <DataGridTextColumn Header="Start Date" Binding="{Binding tstart, StringFormat=\{0:yyyy-MM-dd \}}" Visibility="Hidden" ></DataGridTextColumn>
            <DataGridTextColumn x:Name="dataGridTextColumn" Header="Tool" Binding="{Binding tool}"></DataGridTextColumn>
            <DataGridTextColumn Header="Order Time" Binding="{Binding ts}"></DataGridTextColumn>
            <DataGridTextColumn Header="Color No." Binding="{Binding colorno}"></DataGridTextColumn>
            <DataGridTextColumn Header="Material No." Binding="{Binding matno}"></DataGridTextColumn>
            <DataGridTextColumn Header="Quantity" Binding="{Binding qty}"></DataGridTextColumn>
            <DataGridTextColumn Header="Sequence" Visibility="Hidden" Binding="{Binding seq}"></DataGridTextColumn>
            <DataGridTextColumn Header="Employee" Binding="{Binding emp}"></DataGridTextColumn>
            <DataGridTextColumn Header="Remaining Weight" Binding="{Binding tw}"></DataGridTextColumn>
            <DataGridTextColumn Header="Total Weight"  Binding="{Binding tw, StringFormat={}{0:n2}}"></DataGridTextColumn>
            <DataGridTemplateColumn Header="Click To Select" >
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="myButton4">Select Order</Button>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
        </DataGrid.Columns>
        <DataGrid.CellStyle>
            <Style TargetType="DataGridCell">
                <Setter Property="Padding" Value="5"/>
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="{x:Type DataGridCell}">
                            <Border Padding="{TemplateBinding Padding}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True">
                                <ContentPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
                            </Border>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </DataGrid.CellStyle>
        <DataGrid.GroupStyle>
            <GroupStyle x:Name="groupstyle1">
                <GroupStyle.HeaderTemplate>
                    <DataTemplate>
                        <StackPanel>
                            <TextBlock Text="{Binding Path=Name}" Background="Orange"/>

                        </StackPanel>
                    </DataTemplate>
                </GroupStyle.HeaderTemplate>
                <GroupStyle.ContainerStyle>
                    <Style TargetType="{x:Type GroupItem}">
                        <Setter Property="Template">
                            <Setter.Value>
                                <ControlTemplate TargetType="{x:Type GroupItem}">
                                    <Expander  x:Name="myexpander1"  >
                                        <Expander.Header>
                                            <StackPanel Orientation="Horizontal">
                                                <TextBlock FontSize="22" Foreground="White" Text="{Binding Path=Name}" />

                                            </StackPanel>
                                        </Expander.Header>
                                        <ItemsPresenter />
                                    </Expander>
                                </ControlTemplate>
                            </Setter.Value>
                        </Setter>
                    </Style>
                </GroupStyle.ContainerStyle>
            </GroupStyle>
        </DataGrid.GroupStyle>
    </DataGrid>

选择订单

谢谢你在这方面的帮助。我真的很感激。

为什么不使用Expander wpf控件并将数据网格放入扩展器中呢?Farzi,我希望所有记录都分组,并允许用户根据需要扩展每条记录。我还希望用户能够展开/折叠所有。如果我在datagrid上使用扩展器,它不会扩展/折叠整个东西吗?不仅仅是一条记录一条记录?