首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >WPF ColumnDefinitions的Width和MaxWidth属性无效

WPF ColumnDefinitions的Width和MaxWidth属性无效
EN

Stack Overflow用户
提问于 2011-01-28 05:59:12
回答 3查看 1.3K关注 0票数 0

我正在使用一个应用程序,我正在拖放项目,并根据我拖放的对象的内容动态创建网格(一些对象需要我创建一个有2列的网格,一些有4列的网格,等等)。这很容易做到,但当我尝试指定这些列的宽度时,它不起作用,它显示的是彼此顶部的网格。我将附加的列看起来像。

第一个示例显示了拖放5个对象的结果。您可以看到宽度规范没有任何影响。

第二个示例是相同的,但显示网格不遵循宽度规范。当我把一个"Email“对象放到"Zip”对象上时,它会覆盖网格。

下面是我用来创建定义的代码。正如您所看到的,对于我遍历的每个项,我都在为其创建一个标签。

代码语言:javascript
代码运行次数:0
运行
复制
                /*Initialize Grid Layout*/
                Grid newGrid = new Grid();
                newGrid.MinHeight = 40;

                /*Define Column Definitions*/
                List<ColumnDefinition> columns = new List<ColumnDefinition>  (fieldItemList.Count);
                foreach (ColumnDefinition column in columns)
                {
                    ColumnDefinition labelColumn = new ColumnDefinition();

                    /*Specify Width Dimensions*/
                    labelColumn.Width = new GridLength(150);
                    labelColumn.MaxWidth = 200.0;
                    newGrid.ColumnDefinitions.Add(labelColumn);
                    newGrid.ColumnDefinitions.Add(column);
                }

                /*Define Row Definitions*/
                RowDefinition row = new RowDefinition();
                newGrid.RowDefinitions.Add(row);

如何让它遵守分配给列定义的宽度边界?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-01-28 07:56:50

这是你的实际代码吗?如果是这样,我不认为您正在向网格中添加任何列。

代码语言:javascript
代码运行次数:0
运行
复制
  List<ColumnDefinition> columns = new List<ColumnDefinition>  (fieldItemList.Count);
  foreach (ColumnDefinition column in columns)
            {

在上面的代码中,columns对象被初始化,容量为fieldItemList.Count,但不包含任何ColumnDefinition对象。

票数 1
EN

Stack Overflow用户

发布于 2011-01-28 07:17:13

尝试设置newGrid.HorizontalAlignment = HorizontalAlignment.Left;

如果网格被设置为拉伸,并且只有固定宽度的列,那么它就没有任何东西来填充需要填充的剩余空间。您还可以添加一个额外的*大小的列来占用任何剩余空间。

票数 0
EN

Stack Overflow用户

发布于 2011-01-28 07:30:33

您正在添加(2 * fieldItemList.Count)列。我不认为你应该在循环中添加列...尝试先在XAML中定义Grid,然后将其移植到C#。

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

https://stackoverflow.com/questions/4822398

复制
相关文章

相似问题

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