WPF DataGrid行高

时间:2012-11-27 17:37:20

标签: c# .net wpf datagrid rows

我在WPF项目中有一个数据网格。我已将列宽设置为具有最大限制,
我希望数据同样被拉伸以适应行。但这不会发生....内容只是保持相同的大小,并且单元格被截止。有任何想法吗?

以下是代码:

<DockPanel>
<DataGrid x:Name="nirGrid" x:Uid="nirGrid" AutoGenerateColumns="False"      AlternationCount="2" SelectionMode="Single" DockPanel.Dock="Top" Margin="10,50,10,50" FlowDirection="RightToLeft" ColumnWidth="SizeToCells" CanUserSortColumns="False" CanUserResizeColumns="False" CanUserReorderColumns="False" GridLinesVisibility="None" HeadersVisibility="None" SelectionUnit="Cell" VerticalAlignment="Stretch" EnableRowVirtualization="False" IsReadOnly="True" RowDetailsVisibilityMode="Visible" MinRowHeight="0" CanUserResizeRows="True" RowHeaderWidth="0">
        <DataGrid.Style>
            <Style>
                <Setter Property="ScrollViewer.CanContentScroll" Value="False" />
            </Style>
        </DataGrid.Style>
        <DataGrid.Columns >
            <DataGridTextColumn Binding="{Binding Path=task_desc}" IsReadOnly="True" Header="test1" Width="SizeToCells" MaxWidth="330" >

            </DataGridTextColumn>
            <DataGridTextColumn Binding="{Binding Path=task_req_date}" IsReadOnly="True" Header="test2" Width="SizeToCells" MaxWidth="70" >

            </DataGridTextColumn>

            <DataGridTemplateColumn Header="delete" >
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button Content="delete" ToolTip="delete" Opacity="0.8" Click="Button_Click" MouseEnter="Button_MouseEnter" MouseLeave="Button_MouseLeave">
                            <Button.Template>
                                <ControlTemplate>
                                    <Border HorizontalAlignment="Center" VerticalAlignment="Center">
                                        <Image Source="/exhibits;component/Images/exit1.png" Width="15" Height="15" />
                                    </Border>
                                </ControlTemplate>
                            </Button.Template>
                        </Button>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>


        </DataGrid.Columns>

    </DataGrid>

1 个答案:

答案 0 :(得分:5)

尝试使用TextBlock。它应该自动将内容包装到您想要的大小。

  <DataGridTemplateColumn Width="*" Header="Column 2">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding Path=task_req_date}" TextWrapping="Wrap" AcceptsReturn="true" />  
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>