【问题标题】:How to set the width of a column in a datagrid to *如何将数据网格中列的宽度设置为 *
【发布时间】:2011-11-01 01:07:46
【问题描述】:

我有几列数据网格,我想让其中一个始终填充此数据网格的空白空间。如何更改此代码以获得此结果?不幸的是,这不是我的代码

<data:DataGrid
                            x:Name="grdArchive" 
                            Grid.Row="0" 
                            Visibility="Visible"  
                            Style="{StaticResource DGrid}"
                            ColumnHeaderStyle="{StaticResource DataGridColumnHeaderStyle}"
                            RowStyle="{StaticResource DataGridRowStyle}"
                            GridLinesVisibility="Horizontal"
                            SelectionMode="Single"
                            AutoGenerateColumns="False" 
                            Background="#FFFFFF"
                            VerticalAlignment="Stretch" 
                            HorizontalAlignment="Stretch"
                            IsReadOnly="True"
                            CanUserResizeColumns="False"
                            LoadingRow="grdMessages_LoadingRow">
            <data:DataGrid.Columns>


                <!-- COLUMN: ESCALATE TYPE ID -->
                <data:DataGridTemplateColumn CanUserSort="True"
                                             SortMemberPath="EscalateTypeId">
                    <data:DataGridTemplateColumn.CellTemplate>

                        <DataTemplate>
                            <TextBlock Text="{Binding EscalateTypeId, Converter={StaticResource cnvMessagingStrings}, ConverterParameter=2}" 
                                       VerticalAlignment="Center"
                                       Margin="5,0,5,0"/>
                        </DataTemplate>

                    </data:DataGridTemplateColumn.CellTemplate>

                </data:DataGridTemplateColumn>

【问题讨论】:

  • 我认为你唯一能做的就是让所有列都有一个固定的长度,除了你想要被拉伸的列

标签: silverlight silverlight-4.0 datagrid


【解决方案1】:

为您的 DataGridTemplateColumn 之一设置 Width="*"

<data:DataGridTemplateColumn CanUserSort="True"
                                SortMemberPath="EscalateTypeId"
                                Width="*">

【讨论】:

    【解决方案2】:

    我希望有一个与以下内容等效的 Silverlight,如果没有帮助,请不要投反对票,我将删除

    dataGridView1.AutoGenerateColumns = false;
    DataGridViewColumn column = new DataGridViewColumn();
            column.DataPropertyName = "Question Number";
            column.HeaderText = "Question Number";
            column.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
    dataGridView1.Columns.Add(column);
    
        // Summary:
        //     The column width adjusts so that the widths of all columns exactly fills
        //     the display area of the control, requiring horizontal scrolling only to keep
        //     column widths above the System.Windows.Forms.DataGridViewColumn.MinimumWidth
        //     property values. Relative column widths are determined by the relative System.Windows.Forms.DataGridViewColumn.FillWeight
        //     property values.
    

    【讨论】:

      猜你喜欢
      • 2012-11-27
      • 2019-12-02
      • 2016-05-09
      • 1970-01-01
      • 2020-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-30
      相关资源
      最近更新 更多