-1

我在 wpf 表单上有一个数据网格。我需要的是让这个数据网格驻留在选项卡控件上。是否可以调整 xaml 来实现这一点,还是我必须删除数据网格,然后添加选项卡控件,然后在选项卡控件中重做数据网格?我尝试在标签之间封装datagrid xaml,但没有给它尺寸。那没有得到所需的结果。

这是数据网格 xaml

<DataGrid x:Name="_dgvInventory"
                                         VirtualizingStackPanel.IsVirtualizing="True"
                                         VirtualizingStackPanel.VirtualizationMode="Recycling"
                                         Grid.Row="1"
                                         AutoGenerateColumns="False"
                                         ItemsSource="{Binding}"
                                         IsReadOnly="True"
                                         SelectionMode="Single"
                                         SelectionUnit="FullRow"
                                         RowHeaderWidth="30"
                                         SelectionChanged="DGVInventory_SelectionChanged"
                                         LoadingRow="DataGridLoadingRow"
                                         VerticalScrollBarVisibility="Auto"
                                         HorizontalScrollBarVisibility="Auto">
                                <DataGrid.Columns>
                                    <DataGridTextColumn Header="Status"
                                                              Binding="{Binding Status}"/>
                                    <DataGridTextColumn Header="Tag ID"
                                                              Binding="{Binding TagId}"/>
                                    <DataGridTextColumn Header="Description"
                                                              Binding="{Binding Description}"/>
                                    <DataGridTextColumn Header="Part Number"
                                                              Binding="{Binding PartNumber}"/>
                                    <DataGridTextColumn Header="Serial Number"
                                                              Binding="{Binding SerialNumber}"/>
                                    <DataGridTextColumn Header="Location"
                                                              Binding="{Binding Location}"/>
                                    <DataGridTextColumn Header="Room"
                                                              Binding="{Binding Room}"/>
                                    <DataGridTextColumn Header="Inventory"
                                                              Binding="{Binding Inventory}"/>
                                    <DataGridTextColumn Header="Comment"
                                                              Binding="{Binding OwnedComment}"/>
                                </DataGrid.Columns>
                                <DataGrid.ContextMenu>
                                    <ContextMenu>
                                        <MenuItem Header="Search"
                                                     Click="SearchParts_Click" />
                                        <MenuItem Header="Masked Search" Click="MaskedSearchMenuItem_Click"/>
                                    </ContextMenu>
                                </DataGrid.ContextMenu>
                                <DataGrid.RowStyle>
                                    <Style TargetType="{x:Type DataGridRow}">
                                        <Style.Triggers>
                                            <DataTrigger Binding="{Binding Status}"
                                                             Value="Inv:found">
                                                <Setter Property="Background"
                                                          Value="GreenYellow"/>
                                            </DataTrigger>
                                            <DataTrigger Binding="{Binding Status}"
                                                             Value="Inv:unfound">
                                                <Setter Property="Background"
                                                          Value="Salmon"/>
                                            </DataTrigger>
                                            <DataTrigger Binding="{Binding Status}"
                                                             Value="unknown">
                                                <Setter Property="Background"
                                                          Value="Yellow"/>
                                            </DataTrigger>
                                            <DataTrigger Binding="{Binding Status}"
                                                             Value="stray">
                                                <Setter Property="Background"
                                                          Value="LightBlue"/>
                                            </DataTrigger>
                                        </Style.Triggers>
                                    </Style>
                                </DataGrid.RowStyle>
                            </DataGrid>

它存在于 wpf 窗口选项卡控件上。选项卡控件上有一些其他数据网格和滑块等。我需要做的就是将这个特定的数据网格放在一个选项卡控件上,该选项卡控件本身将位于主选项卡控件中。我希望我的问题更清楚。我想知道在 xaml 中我是否可以做一些简单的事情并创建迷你选项卡控件并将其“滑动”到数据网格后面(然后它将成为迷你选项卡控件的子控件)。如果我的术语不是公认的规范,我深表歉意。在这方面是新的。

4

1 回答 1

1

我想这就是你追求的...

<TabControl HorizontalAlignment="Left" Height="250" Margin="0,10,0,0" VerticalAlignment="Top" Width="292">
        <TabItem Header="TabItem">
            <Grid Background="#FFE5E5E5">
                <TabControl>
                    <TabItem Header="TabItem">
                        <Grid>
                            <DataGrid x:Name="_dgvInventory"
                                     VirtualizingStackPanel.IsVirtualizing="True"
                                     VirtualizingStackPanel.VirtualizationMode="Recycling"
                                     Grid.Row="1"
                                     AutoGenerateColumns="False"
                                     ItemsSource="{Binding}"
                                     IsReadOnly="True"
                                     SelectionMode="Single"
                                     SelectionUnit="FullRow"
                                     RowHeaderWidth="30"
                                     SelectionChanged="DGVInventory_SelectionChanged"
                                     LoadingRow="DataGridLoadingRow"
                                     VerticalScrollBarVisibility="Auto"
                                     HorizontalScrollBarVisibility="Auto">
                                <DataGrid.Columns>
                                    <DataGridTextColumn Header="Status"
                                                          Binding="{Binding Status}"/>
                                    <DataGridTextColumn Header="Tag ID"
                                                          Binding="{Binding TagId}"/>
                                    <DataGridTextColumn Header="Description"
                                                          Binding="{Binding Description}"/>
                                    <DataGridTextColumn Header="Part Number"
                                                          Binding="{Binding PartNumber}"/>
                                    <DataGridTextColumn Header="Serial Number"
                                                          Binding="{Binding SerialNumber}"/>
                                    <DataGridTextColumn Header="Location"
                                                          Binding="{Binding Location}"/>
                                    <DataGridTextColumn Header="Room"
                                                          Binding="{Binding Room}"/>
                                    <DataGridTextColumn Header="Inventory"
                                                          Binding="{Binding Inventory}"/>
                                    <DataGridTextColumn Header="Comment"
                                                          Binding="{Binding OwnedComment}"/>
                                </DataGrid.Columns>
                                <DataGrid.ContextMenu>
                                    <ContextMenu>
                                        <MenuItem Header="Search"
                                                 Click="SearchParts_Click" />
                                        <MenuItem Header="Masked Search" Click="MaskedSearchMenuItem_Click"/>
                                    </ContextMenu>
                                </DataGrid.ContextMenu>
                                <DataGrid.RowStyle>
                                    <Style TargetType="{x:Type DataGridRow}">
                                        <Style.Triggers>
                                            <DataTrigger Binding="{Binding Status}"
                                                         Value="Inv:found">
                                                <Setter Property="Background"
                                                      Value="GreenYellow"/>
                                            </DataTrigger>
                                            <DataTrigger Binding="{Binding Status}"
                                                         Value="Inv:unfound">
                                                <Setter Property="Background"
                                                      Value="Salmon"/>
                                            </DataTrigger>
                                            <DataTrigger Binding="{Binding Status}"
                                                         Value="unknown">
                                                <Setter Property="Background"
                                                      Value="Yellow"/>
                                            </DataTrigger>
                                            <DataTrigger Binding="{Binding Status}"
                                                         Value="stray">
                                                <Setter Property="Background"
                                                      Value="LightBlue"/>
                                            </DataTrigger>
                                        </Style.Triggers>
                                    </Style>
                                </DataGrid.RowStyle>
                            </DataGrid>
                        </Grid>
                    </TabItem>
                </TabControl>
            </Grid>
        </TabItem>
        <TabItem Header="TabItem">
            <Grid Background="#FFE5E5E5"/>
        </TabItem>
    </TabControl>

我注意到,当我将子 TabControl 拖入父级时,它根本没有任何项目。然后你需要在每个项目中都有一个网格。

于 2013-03-07T21:06:14.007 回答