首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何支持在DataGrid中调整DataGridRowHeader列的大小

如何支持在DataGrid中调整DataGridRowHeader列的大小
EN

Stack Overflow用户
提问于 2012-03-06 19:33:06
回答 2查看 502关注 0票数 0

我想允许重新调整dataGrid的第0列的大小,该列包含SelectAll按钮和行标题-

图片来自- WPF Toolkit DataGrid, Part II – Custom styling

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-06 21:57:38

试试这个。

XAML:

代码语言:javascript
复制
   <tk:DataGrid x:Name="MyDataGrid"
                RowHeaderWidth="15"
                ItemsSource="{StaticResource MyData}"
                AutoGenerateColumns="False">
        <tk:DataGrid.Columns>
            <tk:DataGridTextColumn Binding="{Binding ID}">
                <tk:DataGridTextColumn.HeaderTemplate>
                    <DataTemplate>
                        <DockPanel>
                            <GridSplitter
                                DockPanel.Dock="Left"
                                VerticalAlignment="Stretch"
                                HorizontalAlignment="Left" Width="2"
                                DragDelta="GridSplitter_DragDelta"/>
                            <TextBlock Text="ID" DockPanel.Dock="Right"/>
                        </DockPanel>
                    </DataTemplate>
                </tk:DataGridTextColumn.HeaderTemplate>
            </tk:DataGridTextColumn>
            <tk:DataGridTextColumn Header="Name"
                                   Binding="{Binding Name}">
            </tk:DataGridTextColumn>
        </tk:DataGrid.Columns>
    </tk:DataGrid>

背后的代码:

代码语言:javascript
复制
     private void GridSplitter_DragDelta
        (object sender,
         System.Windows.Controls.Primitives.DragDeltaEventArgs e)
    {
        if (MyDataGrid.RowHeaderWidth + e.HorizontalChange >= 15)
        {
            MyDataGrid.RowHeaderWidth = MyDataGrid.RowHeaderWidth + e.HorizontalChange;
        }
    }

您可以重写RowHeaderTemplate并执行此精确的网格拆分器停靠在右侧。但对我来说,将它停靠在第一列标题的左侧效果最好!

票数 1
EN

Stack Overflow用户

发布于 2012-03-06 20:43:23

代码语言:javascript
复制
                <GridViewColumn Header="Name" Width="150">
                     <GridViewColumn.CellTemplate>
                         <DataTemplate>
                            <TextBlock Width="Auto" TextTrimming="CharacterEllipsis"/>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>

尝尝这个

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9582882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档