首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XamDataGrid调整星号列

XamDataGrid调整星号列
EN

Stack Overflow用户
提问于 2021-06-10 13:07:33
回答 1查看 388关注 0票数 0

如何调整*列在XamDataGrid中的大小?在本例中,我无法调整department列的大小。

MWE:MainWindow.xaml

代码语言:javascript
复制
<Window x:Class="GridPerformAutoSize.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:igWPF="http://schemas.infragistics.com/xaml/wpf"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        Title="MainWindow"
        Width="800"
        Height="450"
        mc:Ignorable="d">
    <Grid>

        <igWPF:XamDataGrid x:Name="dataGrid">
            <igWPF:XamDataGrid.FieldLayoutSettings>
                <igWPF:FieldLayoutSettings AutoGenerateFields="False" />
            </igWPF:XamDataGrid.FieldLayoutSettings>
            <igWPF:XamDataGrid.FieldLayouts>
                <igWPF:FieldLayout>
                    <igWPF:Field Name="name" />
                    <igWPF:Field Name="department" Width="*" AllowResize="True" />
                    <igWPF:Field Name="salary" />
                    <igWPF:Field Name="email" />
                </igWPF:FieldLayout>
            </igWPF:XamDataGrid.FieldLayouts>
        </igWPF:XamDataGrid>

    </Grid>
</Window>

MainWindow.xaml.cs

代码语言:javascript
复制
using System.Linq;

namespace GridPerformAutoSize
{
    public class Person
    {
        public string name { get; set; }
        public string department { get; set; }
        public string salary { get; set; }
        public string email { get; set; }
    }
    
    public partial class MainWindow
    {
        public MainWindow()
        {
            this.InitializeComponent();

            this.dataGrid.DataSource = Enumerable.Repeat(new Person() { department = "HR", email = "john@hotmail.com", name = "John Smith", salary = "52500" }, 5);
        }
    }
}

请参见如何在department列和salary列之间不显示调整大小的光标:

我需要做什么才能调整*列的大小?

如何让一列使用所有可用空间,但仍然允许调整大小?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-10 15:20:58

department字段设置为Width="*"可防止其调整大小。若要启用此字段的大小调整,只需删除该列中的宽度设置即可。

代码语言:javascript
复制
<igWPF:XamDataGrid x:Name="dataGrid" AutoFit="True">
    <igWPF:XamDataGrid.FieldLayoutSettings>
        <igWPF:FieldLayoutSettings AutoGenerateFields="False" AutoFitMode="Always" />
    </igWPF:XamDataGrid.FieldLayoutSettings>
    <igWPF:XamDataGrid.FieldLayouts>
        <igWPF:FieldLayout>
            <igWPF:Field Name="name" />
            <igWPF:Field Name="department" />
            <igWPF:Field Name="salary" />
            <igWPF:Field Name="email" />
        </igWPF:FieldLayout>
    </igWPF:XamDataGrid.FieldLayouts>
</igWPF:XamDataGrid>

您还可以尝试将单元格和标签的大小设置为AutoFit="True",而不需要滚动。

问题__:如何让一列使用所有可用空间,但仍然允许调整大小?

应答__:您可以为所有列设置Width="Auto",但希望使用所有可用空间但仍然允许调整大小的列除外。对于本列,不要设置Width属性。

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

https://stackoverflow.com/questions/67921794

复制
相关文章

相似问题

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