【问题标题】:WPF datagrid rowheader when binding to dataview绑定到数据视图时的 WPF 数据网格行标题
【发布时间】:2012-05-09 10:43:01
【问题描述】:

当我尝试将数据视图绑定到数据网格并尝试使其将第一行显示为行标题时遇到问题。

我的数据网格如下所示:

<DataGrid DockPanel.Dock="Top" Margin="15,15" HorizontalAlignment="Left" Name="ReportDataGrid" CanUserSortColumns="False"  CanUserResizeColumns="False" CanUserReorderColumns="False" AutoGenerateColumns="True" CanUserResizeRows="False" IsReadOnly="True" HorizontalScrollBarVisibility="Auto" HeadersVisibility="All" Visibility="{Binding Path=ShowReportDataGrid}" SelectionMode="Single" SelectionUnit="Cell" ClipboardCopyMode="IncludeHeader">
    <DataGrid.CellStyle>
        <Style TargetType="DataGridCell">
            <Setter Property="Width" Value="48"></Setter>
                </Style>
                    </DataGrid.CellStyle>
                        <DataGrid.ColumnHeaderStyle>
                            <Style TargetType="DataGridColumnHeader">
                                <Setter Property="Background" Value="{StaticResource DataGrid_Style_Header}" />
                                <Setter Property="Foreground" Value="White" />
                                <Setter Property="Padding" Value="10,0,10,0"/>
                                <Setter Property="Width" Value="48"></Setter>
                            </Style>
                        </DataGrid.ColumnHeaderStyle>
                        <DataGrid.RowHeaderStyle>
                            <Style TargetType="DataGridRowHeader">
                                <Setter Property="Background" Value="{StaticResource DataGrid_Style_Header}" />
                                <Setter Property="Foreground" Value="White" />
                                <Setter Property="Padding" Value="10,0,10,0"/>
                                <Setter Property="Width" Value="48"></Setter>
                            </Style>
                        </DataGrid.RowHeaderStyle>
                    </DataGrid>

此代码发生的情况是数据网格插入一个行标题,然后将数据视图中的数据放入网格的其余部分,行标题为空。将数据视图的第一列添加到行标题的好的解决方案是什么?

【问题讨论】:

    标签: wpf datagrid styles


    【解决方案1】:

    我最终用一种样式解决了这个问题,如下所示:

    <DataGrid.CellStyle>
        <Style TargetType="DataGridCell">
            <Setter Property="Width" Value="48"></Setter>
                <Style.Triggers>
                    <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=Column.DisplayIndex, Mode=OneWay}" Value="0">
                        <Setter Property="Background" Value="{StaticResource DataGrid_Style_Header}" />        
                        <Setter Property="Foreground" Value="White" />
                        <Setter Property="Width" Value="60"></Setter>
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </DataGrid.CellStyle>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-11
      • 2010-12-12
      • 1970-01-01
      • 1970-01-01
      • 2016-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多