【发布时间】:2021-11-11 05:40:13
【问题描述】:
我正在使用带有 .NET5 的 WPF 来开发一个 Windows 应用程序,我在其中使用 Grid 来显示一些内容,并且我需要以编程方式在网格顶部添加一个新行。
我考虑的一种方法是修改每个现有行的行号,但这是一项繁琐的任务。我正在使用网格来显示内容,因为网格会随着主窗口的扩展而动态扩展,而据我所知,其他容器不会显示这种行为。
我考虑的另一种方法是使用 gridName.Childern.Insert() 插入一行,但它会插入并覆盖现有行。
我需要一种解决方案,既可以在网格顶部动态添加新行而不重叠,也可以在最大化主窗口的同时扩展其他容器,例如 Stack Panel 和 Dock Panel。
有没有其他有效的方法来实现这个功能?
【问题讨论】:
-
如果要在顶部“插入”一行,则必须在所有子元素上设置
Grid.Row属性。您还必须更新网格的RowDefinitions。考虑使用更合适的面板,例如一个 StackPanel。 -
是的!考虑到这一点,但堆栈面板不像网格那样响应。展开窗口时堆栈面板不展开。
-
然后更新 RowDefinitions 和所有 Grid.Row 设置,如前所述。祝你好运。
标签: .net wpf wpf-controls .net-5