1
1
在这个问题出现之前,网格的内容似乎必须具有一定的复杂性。 简单的textblock(如op所示)可能不会很容易地显示问题,因为它们是静态大小的。如果你扔一个 文本框 (不是文本块)在一个单元格中,然后在运行时,输入足够的文本以使文本框自动展开单元格,您应该会看到它立即开始狂舞……太过分了,不能接受。我的项目控件中有7行。 这有效地使得到大力推广的isSharedSizeScope+itemsControl方法成为一种完全禁止的方法,特别是对于可编辑的、面向文本框的网格内容。 为了满足我的需要,listview或者更确切地说是“itemscontrol+gridviewrowpresenter”方法 here 和 here 是一个非常直接的选择,没有任何这些布局问题。 对于那些问“为什么不使用数据网格?”:datagrid采用了某种编辑方法。我很愿意解决所有这些问题,但最终却陷入了一个死胡同:datagrid如何处理验证。错误支持。小的红色验证错误框对于简单的datagridtextcolumn很好,但是对于datagridtemplatecolumns(需要在一列中提供多个文本框),它最初会显示红色框,然后根据您单击的位置不一致地隐藏它们。数据网格。在随后的验证刷新时,它们将完全不可见。(旧示例: http://code.google.com/p/itraacv2-1/source/browse/trunk/scraps/tabSponsor%20-%20before%20deactive%20rewrite.xaml ,搜索“掘金:为了我可怕的生活”…) 我的整个项目来源都是在线的。GridViewRowPresenter方法如下所示: http://code.google.com/p/itraacv2-1/source/browse/trunk/App/View/tabSponsor.xaml |
2
1
尝试在所有网格列上设置最小宽度。 我也经历过这种神经质的不稳定。但是,我通过在所有网格列上指定一个集合minwidth来控制它。当屏幕第一次显示时,这似乎稳定了一些东西。当然,因为您的列仍然是链接的,所以它们会增长到任何控件获胜时的最大宽度。 另外,关闭IsSharedSizeScope并尝试让网格先对齐,然后再重新打开。 |
3
0
不幸的是,我无法用提供的代码重现问题。我试过交换20到1000个项目的样本,在集合中有100个不同的宽度。什么都没跳。在巨大的集合(200或更高)上,ui通常会挂起一段时间,然后释放,显示包含所提供项的新网格。 |
4
0
我也遇到了同样的问题,我试着按照其中一个答案中的建议设置minwidth,但我没有成功。有帮助的是,将宽度从一个网格绑定到另一个网格。我在sharedsizegroup中保留了一些列,但没有跳转:
我不知道sharedgroupsize可以保留多少列,还需要绑定多少列,所以您可以在这些列上玩,看看哪些适合您。 |
Yoni · 如何从代码隐藏中引用“我的项目”控件中的另一个控件? 7 年前 |
Sam White · 实际高度增加但不收缩 7 年前 |
herohuyongtao · 如何获取当前ItemsControl项的索引? 10 年前 |
Boas Enkler · WinRT中可缩放的水平项目控件 11 年前 |